<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerClient Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20180125</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerClient.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArServerClient-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerClient Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This class represents the server's connection to the client, and contains the socket that the server uses to talk to the client and the information for sending packets to the client.  
 <a href="classArServerClient.html#details">More...</a></p>

<p><code>#include &lt;ArServerClient.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient_1_1Tracker.html">Tracker</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a43cb5a7523682cd393fd67c81eaff459"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a> { <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ae3c16ad5623af30630dc389afdca5e28">STATE_SENT_INTRO</a>, 
<a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a29ec9812aa65c462b4bf2620a2139ae6">STATE_REJECTED</a>, 
<a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ab9b261bf5131df42b84685b7e4ecaff7">STATE_CONNECTED</a>, 
<a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a0c32b15d037637d34fec49a59ed26c8d">STATE_DISCONNECTED</a>
 }<tr class="memdesc:a43cb5a7523682cd393fd67c81eaff459"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of the connection.  <a href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a43cb5a7523682cd393fd67c81eaff459"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aeb58f2cfcc533a91bb89e4e6cff36975"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *tcpSocket, unsigned int udpPort, long authKey, long introKey, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html">ArRetFunctor2</a>&lt; bool, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in * &gt; *sendUdpCallback, std::map&lt; unsigned int, <a class="el" href="classArServerData.html">ArServerData</a> * &gt; *dataMap, const char *passwordKey, const char *serverKey, const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *userInfo=NULL, int rejecting=0, const char *rejectingString=&quot;&quot;, bool debugLogging=false, const char *serverClientName=&quot;ArServerBase_unknown&quot;, bool logPasswordFailureVerbosely=false, bool allowSlowPackets=true, bool allowIdlePackets=true, const char *enforceProtocolVersion=&quot;&quot;, <a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a> enforceType=<a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efdaebd1dc6f46009b607589b0ea2cea27c5">ArServerCommands::TYPE_UNSPECIFIED</a>)</td></tr>
<tr class="memdesc:aeb58f2cfcc533a91bb89e4e6cff36975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#aeb58f2cfcc533a91bb89e4e6cff36975">More...</a><br /></td></tr>
<tr class="separator:aeb58f2cfcc533a91bb89e4e6cff36975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12cdbaae7a6a207a8d027a1d41c89ff9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a12cdbaae7a6a207a8d027a1d41c89ff9">broadcastPacketTcp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a12cdbaae7a6a207a8d027a1d41c89ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts a packet over TCP if this client wants this data &ndash; For internal use only!  <a href="#a12cdbaae7a6a207a8d027a1d41c89ff9">More...</a><br /></td></tr>
<tr class="separator:a12cdbaae7a6a207a8d027a1d41c89ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e6c3c33365cc9c3d4f4791364cc477"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ad4e6c3c33365cc9c3d4f4791364cc477">broadcastPacketUdp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ad4e6c3c33365cc9c3d4f4791364cc477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts a packet over UDP if this client wants this data (unless client only wants tcp then sends over tcp) &ndash; For internal ArNetworking use only!  <a href="#ad4e6c3c33365cc9c3d4f4791364cc477">More...</a><br /></td></tr>
<tr class="separator:ad4e6c3c33365cc9c3d4f4791364cc477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c6b991a2c2f896c5d4eb8d227ee448e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a7c6b991a2c2f896c5d4eb8d227ee448e">endRequestTransaction</a> ()</td></tr>
<tr class="memdesc:a7c6b991a2c2f896c5d4eb8d227ee448e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends the most recent request transaction, decrementing the count.  <a href="#a7c6b991a2c2f896c5d4eb8d227ee448e">More...</a><br /></td></tr>
<tr class="separator:a7c6b991a2c2f896c5d4eb8d227ee448e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a259537dd4ed91e645b585530eb959a75"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a259537dd4ed91e645b585530eb959a75">findCommandFromName</a> (const char *commandName) const </td></tr>
<tr class="memdesc:a259537dd4ed91e645b585530eb959a75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the command ID for the specified name, or 0 if it is not found.  <a href="#a259537dd4ed91e645b585530eb959a75">More...</a><br /></td></tr>
<tr class="separator:a259537dd4ed91e645b585530eb959a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc5233e80c5ac768ddf8a298c5ff04b8"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#adc5233e80c5ac768ddf8a298c5ff04b8">findCommandName</a> (unsigned int command) const </td></tr>
<tr class="memdesc:adc5233e80c5ac768ddf8a298c5ff04b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find name of command for the given number. Return NULL if no command with the given ID is known.  <a href="#adc5233e80c5ac768ddf8a298c5ff04b8">More...</a><br /></td></tr>
<tr class="separator:adc5233e80c5ac768ddf8a298c5ff04b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab620f09c97793038989776b7314288c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">forceDisconnect</a> (bool quiet)</td></tr>
<tr class="memdesc:ab620f09c97793038989776b7314288c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forcibly disconnect a client (for client/server switching)  <a href="#ab620f09c97793038989776b7314288c9">More...</a><br /></td></tr>
<tr class="separator:ab620f09c97793038989776b7314288c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e842aec6153b3ce6236c0a3becccc61"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a5e842aec6153b3ce6236c0a3becccc61">getAuthKey</a> (void)</td></tr>
<tr class="memdesc:a5e842aec6153b3ce6236c0a3becccc61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the authKey used for setting up UDP from this client to the server.  <a href="#a5e842aec6153b3ce6236c0a3becccc61">More...</a><br /></td></tr>
<tr class="separator:a5e842aec6153b3ce6236c0a3becccc61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b6254803aaa6a30ff979457a1526cff"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a4b6254803aaa6a30ff979457a1526cff">getCreationTime</a> (void)</td></tr>
<tr class="memdesc:a4b6254803aaa6a30ff979457a1526cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get creation time.  <a href="#a4b6254803aaa6a30ff979457a1526cff">More...</a><br /></td></tr>
<tr class="separator:a4b6254803aaa6a30ff979457a1526cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2edcd0ef46313e33a2abee4b844af0e2"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a2edcd0ef46313e33a2abee4b844af0e2">getFrequency</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a> command)</td></tr>
<tr class="memdesc:a2edcd0ef46313e33a2abee4b844af0e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets how often a command is asked for.  <a href="#a2edcd0ef46313e33a2abee4b844af0e2">More...</a><br /></td></tr>
<tr class="separator:a2edcd0ef46313e33a2abee4b844af0e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24d2b2edb9c95aaf6a6e2a888f7143d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">getIdentifier</a> (void) const </td></tr>
<tr class="memdesc:a24d2b2edb9c95aaf6a6e2a888f7143d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the identifier of this server client.  <a href="#a24d2b2edb9c95aaf6a6e2a888f7143d0">More...</a><br /></td></tr>
<tr class="separator:a24d2b2edb9c95aaf6a6e2a888f7143d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da91f3122966f4b1ce824fffb3e4ace"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString</a> (void) const </td></tr>
<tr class="memdesc:a8da91f3122966f4b1ce824fffb3e4ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the IP string of the client.  <a href="#a8da91f3122966f4b1ce824fffb3e4ace">More...</a><br /></td></tr>
<tr class="separator:a8da91f3122966f4b1ce824fffb3e4ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a7ed65d0d598c4fb07b00a09ec6061c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a7a7ed65d0d598c4fb07b00a09ec6061c">getRequestTransactionCount</a> ()</td></tr>
<tr class="memdesc:a7a7ed65d0d598c4fb07b00a09ec6061c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of request transactions that are currently in progress.  <a href="#a7a7ed65d0d598c4fb07b00a09ec6061c">More...</a><br /></td></tr>
<tr class="separator:a7a7ed65d0d598c4fb07b00a09ec6061c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4e86b0f65a6431cf08a3dd59201c29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#afc4e86b0f65a6431cf08a3dd59201c29">getState</a> (void)</td></tr>
<tr class="memdesc:afc4e86b0f65a6431cf08a3dd59201c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the state.  <a href="#afc4e86b0f65a6431cf08a3dd59201c29">More...</a><br /></td></tr>
<tr class="separator:afc4e86b0f65a6431cf08a3dd59201c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a749cddc87accce262483d5b57c78d067"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a749cddc87accce262483d5b57c78d067">getTcpSocket</a> (void)</td></tr>
<tr class="memdesc:a749cddc87accce262483d5b57c78d067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function to get the tcp socket.  <a href="#a749cddc87accce262483d5b57c78d067">More...</a><br /></td></tr>
<tr class="separator:a749cddc87accce262483d5b57c78d067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecf21943c6e944aeebed8f5e6ce0ee36"><td class="memItemLeft" align="right" valign="top">struct sockaddr_in *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aecf21943c6e944aeebed8f5e6ce0ee36">getUdpAddress</a> (void)</td></tr>
<tr class="memdesc:aecf21943c6e944aeebed8f5e6ce0ee36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the sin (network address) for the UDP socket.  <a href="#aecf21943c6e944aeebed8f5e6ce0ee36">More...</a><br /></td></tr>
<tr class="separator:aecf21943c6e944aeebed8f5e6ce0ee36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46513d8d5d7bc8e2031af88a056b22de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests</a> (void)</td></tr>
<tr class="memdesc:a46513d8d5d7bc8e2031af88a056b22de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the requests for packets.  <a href="#a46513d8d5d7bc8e2031af88a056b22de">More...</a><br /></td></tr>
<tr class="separator:a46513d8d5d7bc8e2031af88a056b22de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdcf4871ff0b4f01b451ad3c06d9135e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#acdcf4871ff0b4f01b451ad3c06d9135e">hasGroupAccess</a> (const char *group)</td></tr>
<tr class="memdesc:acdcf4871ff0b4f01b451ad3c06d9135e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if this client has access to a given group.  <a href="#acdcf4871ff0b4f01b451ad3c06d9135e">More...</a><br /></td></tr>
<tr class="separator:acdcf4871ff0b4f01b451ad3c06d9135e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e55879003201391f6f65776babd31c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">hasIdlePackets</a> (void)</td></tr>
<tr class="memdesc:a08e55879003201391f6f65776babd31c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we have any idle packets to process.  <a href="#a08e55879003201391f6f65776babd31c">More...</a><br /></td></tr>
<tr class="separator:a08e55879003201391f6f65776babd31c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d03e4c0cfe7d8696a037fc6311704cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a4d03e4c0cfe7d8696a037fc6311704cd">hasSlowPackets</a> (void)</td></tr>
<tr class="memdesc:a4d03e4c0cfe7d8696a037fc6311704cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we have any slow packets to process.  <a href="#a4d03e4c0cfe7d8696a037fc6311704cd">More...</a><br /></td></tr>
<tr class="separator:a4d03e4c0cfe7d8696a037fc6311704cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8f53397ba47d8fae63a092f50e77150"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback</a> (void)</td></tr>
<tr class="memdesc:ad8f53397ba47d8fae63a092f50e77150"><td class="mdescLeft">&#160;</td><td class="mdescRight">The callback for taking care of idle packets (logic on idle elsewhere)  <a href="#ad8f53397ba47d8fae63a092f50e77150">More...</a><br /></td></tr>
<tr class="separator:ad8f53397ba47d8fae63a092f50e77150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9993f75befafb68eaa634d141b65f5ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a9993f75befafb68eaa634d141b65f5ea">isTcpOnly</a> (void)</td></tr>
<tr class="memdesc:a9993f75befafb68eaa634d141b65f5ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the tcp only flag.  <a href="#a9993f75befafb68eaa634d141b65f5ea">More...</a><br /></td></tr>
<tr class="separator:a9993f75befafb68eaa634d141b65f5ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a905bb2016b04e35c57f8b277d4095cfc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking</a> (bool terse)</td></tr>
<tr class="memdesc:a905bb2016b04e35c57f8b277d4095cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the tracking information (packet and byte counts)  <a href="#a905bb2016b04e35c57f8b277d4095cfc">More...</a><br /></td></tr>
<tr class="separator:a905bb2016b04e35c57f8b277d4095cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dbd22bfb827fe452922423c80f597aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, struct sockaddr_in *<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin</a>)</td></tr>
<tr class="memdesc:a7dbd22bfb827fe452922423c80f597aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes the auth packets that came from udp.  <a href="#a7dbd22bfb827fe452922423c80f597aa">More...</a><br /></td></tr>
<tr class="separator:a7dbd22bfb827fe452922423c80f597aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0936247fefc5b0705d637dad37a8c54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, bool tcp=true)</td></tr>
<tr class="memdesc:aa0936247fefc5b0705d637dad37a8c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the packet whever it came from.  <a href="#aa0936247fefc5b0705d637dad37a8c54">More...</a><br /></td></tr>
<tr class="separator:aa0936247fefc5b0705d637dad37a8c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b3e419c8fc2124b8dedc7878c7b69e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a6b3e419c8fc2124b8dedc7878c7b69e6">resetTracking</a> (void)</td></tr>
<tr class="memdesc:a6b3e419c8fc2124b8dedc7878c7b69e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the tracking information (resets counters)  <a href="#a6b3e419c8fc2124b8dedc7878c7b69e6">More...</a><br /></td></tr>
<tr class="separator:a6b3e419c8fc2124b8dedc7878c7b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f898b500f25869bdc5098c7d9a94f93"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a3f898b500f25869bdc5098c7d9a94f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a packet over TCP.  <a href="#a3f898b500f25869bdc5098c7d9a94f93">More...</a><br /></td></tr>
<tr class="separator:a3f898b500f25869bdc5098c7d9a94f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9276b1f38501725852c779058bad1d33"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a9276b1f38501725852c779058bad1d33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a packet over UDP (unless client only wants TCP; then sends over TCP).  <a href="#a9276b1f38501725852c779058bad1d33">More...</a><br /></td></tr>
<tr class="separator:a9276b1f38501725852c779058bad1d33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab440b833ee547250a4c3a9eb254428e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab440b833ee547250a4c3a9eb254428e0">setBackupTimeout</a> (double timeoutInMins)</td></tr>
<tr class="memdesc:ab440b833ee547250a4c3a9eb254428e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the backup timeout.  <a href="#ab440b833ee547250a4c3a9eb254428e0">More...</a><br /></td></tr>
<tr class="separator:ab440b833ee547250a4c3a9eb254428e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db983b7a0d4f3bf1ed7f3152a753c1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier</a> (<a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier)</td></tr>
<tr class="memdesc:a2db983b7a0d4f3bf1ed7f3152a753c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the identifier of this server client.  <a href="#a2db983b7a0d4f3bf1ed7f3152a753c1d">More...</a><br /></td></tr>
<tr class="separator:a2db983b7a0d4f3bf1ed7f3152a753c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1e084950d5ad250a685a4b32266b64c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aa1e084950d5ad250a685a4b32266b64c">setUdpAddress</a> (struct sockaddr_in *<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin</a>)</td></tr>
<tr class="memdesc:aa1e084950d5ad250a685a4b32266b64c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the sin (network address) for the UDP socket.  <a href="#aa1e084950d5ad250a685a4b32266b64c">More...</a><br /></td></tr>
<tr class="separator:aa1e084950d5ad250a685a4b32266b64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d0d22f9b160b1411a709c4502a1cee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab9d0d22f9b160b1411a709c4502a1cee">shutdown</a> (void)</td></tr>
<tr class="memdesc:ab9d0d22f9b160b1411a709c4502a1cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a shutdown command to the socket.  <a href="#ab9d0d22f9b160b1411a709c4502a1cee">More...</a><br /></td></tr>
<tr class="separator:ab9d0d22f9b160b1411a709c4502a1cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54b88b922cb831d40bdb6c7a8b3b465d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback</a> (void)</td></tr>
<tr class="memdesc:a54b88b922cb831d40bdb6c7a8b3b465d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The callback for taking care of slow packets.  <a href="#a54b88b922cb831d40bdb6c7a8b3b465d">More...</a><br /></td></tr>
<tr class="separator:a54b88b922cb831d40bdb6c7a8b3b465d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48225ae118abf839ed54146e02b76b2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b">startRequestTransaction</a> ()</td></tr>
<tr class="memdesc:a48225ae118abf839ed54146e02b76b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a new request transaction, incrementing the count.  <a href="#a48225ae118abf839ed54146e02b76b2b">More...</a><br /></td></tr>
<tr class="separator:a48225ae118abf839ed54146e02b76b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f87f3b1826c19e71af860c992405937"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback</a> (void)</td></tr>
<tr class="memdesc:a8f87f3b1826c19e71af860c992405937"><td class="mdescLeft">&#160;</td><td class="mdescRight">The callback for taking care of the TCP connection.  <a href="#a8f87f3b1826c19e71af860c992405937">More...</a><br /></td></tr>
<tr class="separator:a8f87f3b1826c19e71af860c992405937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81c05efe6728a961ad693d1232ac8c67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a81c05efe6728a961ad693d1232ac8c67">useTcpOnly</a> (void)</td></tr>
<tr class="memdesc:a81c05efe6728a961ad693d1232ac8c67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the TCP only flag.  <a href="#a81c05efe6728a961ad693d1232ac8c67">More...</a><br /></td></tr>
<tr class="separator:a81c05efe6728a961ad693d1232ac8c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a347ea0462ddb58e5b93cd01268cbfe44"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient</a> ()</td></tr>
<tr class="memdesc:a347ea0462ddb58e5b93cd01268cbfe44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a347ea0462ddb58e5b93cd01268cbfe44">More...</a><br /></td></tr>
<tr class="separator:a347ea0462ddb58e5b93cd01268cbfe44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a1551198d0ddd5615c637f7e279f1e16c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a1551198d0ddd5615c637f7e279f1e16c">getCommand</a> ()</td></tr>
<tr class="separator:a1551198d0ddd5615c637f7e279f1e16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a960657844a953e3eacabb5ec21a2891f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a960657844a953e3eacabb5ec21a2891f">getForceTcpFlag</a> ()</td></tr>
<tr class="separator:a960657844a953e3eacabb5ec21a2891f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b8e31c7ba02e41840a7bf0f6d110f5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState</a> (<a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a> state)</td></tr>
<tr class="separator:a4b8e31c7ba02e41840a7bf0f6d110f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a356626319d5e780d4fb33f2cb4c54a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a0a356626319d5e780d4fb33f2cb4c54a">popCommand</a> (void)</td></tr>
<tr class="separator:a0a356626319d5e780d4fb33f2cb4c54a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee23c3b973f36fa20bd0bd46aee13ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a4ee23c3b973f36fa20bd0bd46aee13ec">popForceTcpFlag</a> (void)</td></tr>
<tr class="separator:a4ee23c3b973f36fa20bd0bd46aee13ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a080d7d44550f6a8b0d00822f8ebad45c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a080d7d44550f6a8b0d00822f8ebad45c">popSlowIdleCommand</a> (void)</td></tr>
<tr class="separator:a080d7d44550f6a8b0d00822f8ebad45c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24092993c865f4fa1b1bdb2b4ae985b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a24092993c865f4fa1b1bdb2b4ae985b0">popSlowIdleForceTcpFlag</a> (void)</td></tr>
<tr class="separator:a24092993c865f4fa1b1bdb2b4ae985b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae94bc7965a0265824a284077745255"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a8ae94bc7965a0265824a284077745255">pushCommand</a> (unsigned int num)</td></tr>
<tr class="separator:a8ae94bc7965a0265824a284077745255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4491d7ce6309ee2d83f572ecf509c15c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a4491d7ce6309ee2d83f572ecf509c15c">pushForceTcpFlag</a> (bool forceTcp)</td></tr>
<tr class="separator:a4491d7ce6309ee2d83f572ecf509c15c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a416b03587445b622d95a59c002e6bbcf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a416b03587445b622d95a59c002e6bbcf">pushSlowIdleCommand</a> (unsigned int num)</td></tr>
<tr class="separator:a416b03587445b622d95a59c002e6bbcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3599124281c2c4daf80354cec2143403"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a3599124281c2c4daf80354cec2143403">pushSlowIdleForceTcpFlag</a> (bool forceTcp)</td></tr>
<tr class="separator:a3599124281c2c4daf80354cec2143403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b79e707674b147dc3c76671e29c8915"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a2b79e707674b147dc3c76671e29c8915">sendListPacket</a> (void)</td></tr>
<tr class="separator:a2b79e707674b147dc3c76671e29c8915"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bd0e04a87aa569a53f72d0a096bf51f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="separator:a5bd0e04a87aa569a53f72d0a096bf51f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af684f0692848ff6eb346d6cc859c0300"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#af684f0692848ff6eb346d6cc859c0300">trackPacketReceived</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>)</td></tr>
<tr class="separator:af684f0692848ff6eb346d6cc859c0300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfa5ffab7802f51d0ee081922860ba62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#acfa5ffab7802f51d0ee081922860ba62">trackPacketSent</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, bool tcp)</td></tr>
<tr class="separator:acfa5ffab7802f51d0ee081922860ba62"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aa0cd435885177ec88dc97f47bd794fdf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aa0cd435885177ec88dc97f47bd794fdf">myAllowIdlePackets</a></td></tr>
<tr class="separator:aa0cd435885177ec88dc97f47bd794fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dafde6d1b835173b8bc5bf31684fc20"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a1dafde6d1b835173b8bc5bf31684fc20">myAllowSlowPackets</a></td></tr>
<tr class="separator:a1dafde6d1b835173b8bc5bf31684fc20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c6e11f605ec273b458f0c44a6d261e2"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a5c6e11f605ec273b458f0c44a6d261e2">myAuthKey</a></td></tr>
<tr class="separator:a5c6e11f605ec273b458f0c44a6d261e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af55802a930b2860097b33e6a4d86a2ee"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#af55802a930b2860097b33e6a4d86a2ee">myBackupTimeout</a></td></tr>
<tr class="separator:af55802a930b2860097b33e6a4d86a2ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef446178c42b4dec9c42d20b48493fcc"><td class="memItemLeft" align="right" valign="top">std::list&lt; unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aef446178c42b4dec9c42d20b48493fcc">myCommandStack</a></td></tr>
<tr class="separator:aef446178c42b4dec9c42d20b48493fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6aed61c1fa3227be7513751f4c233da"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ae6aed61c1fa3227be7513751f4c233da">myCreationTime</a></td></tr>
<tr class="separator:ae6aed61c1fa3227be7513751f4c233da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b1f00dc1cf63109d07adc278e44736"><td class="memItemLeft" align="right" valign="top">std::map&lt; unsigned int, <a class="el" href="classArServerData.html">ArServerData</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a></td></tr>
<tr class="separator:a21b1f00dc1cf63109d07adc278e44736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a409b4541bee57358d1d0c3c7ed6c6c05"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a409b4541bee57358d1d0c3c7ed6c6c05">myDebugLogging</a></td></tr>
<tr class="separator:a409b4541bee57358d1d0c3c7ed6c6c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05c589522b9d22c9fba96e29e660ca8c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a05c589522b9d22c9fba96e29e660ca8c">myEnforceProtocolVersion</a></td></tr>
<tr class="separator:a05c589522b9d22c9fba96e29e660ca8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a4032408542408c05e8645d8c45b38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a65a4032408542408c05e8645d8c45b38">myEnforceType</a></td></tr>
<tr class="separator:a65a4032408542408c05e8645d8c45b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52acf2c80732b4c20e9372c6e77f1259"><td class="memItemLeft" align="right" valign="top">std::list&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a52acf2c80732b4c20e9372c6e77f1259">myForceTcpStack</a></td></tr>
<tr class="separator:a52acf2c80732b4c20e9372c6e77f1259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10905478198eba73d4bddf14533aedb1"><td class="memItemLeft" align="right" valign="top">std::set&lt; std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a10905478198eba73d4bddf14533aedb1">myGroups</a></td></tr>
<tr class="separator:a10905478198eba73d4bddf14533aedb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad401572a99088506e159cb0aa35d76e8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ad401572a99088506e159cb0aa35d76e8">myHaveIdlePackets</a></td></tr>
<tr class="separator:ad401572a99088506e159cb0aa35d76e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d2d9132778345f4fce1ab200f27bed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab9d2d9132778345f4fce1ab200f27bed">myHaveSlowPackets</a></td></tr>
<tr class="separator:ab9d2d9132778345f4fce1ab200f27bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b0d42be86e28e346d901c2f20dd5ffe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a3b0d42be86e28e346d901c2f20dd5ffe">myIdentifier</a></td></tr>
<tr class="separator:a3b0d42be86e28e346d901c2f20dd5ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8602b0a1426f563e9204c0dc6cf58342"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a8602b0a1426f563e9204c0dc6cf58342">myIdlePackets</a></td></tr>
<tr class="separator:a8602b0a1426f563e9204c0dc6cf58342"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7834e40da4a5fd52a4dd67807f612d4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ad7834e40da4a5fd52a4dd67807f612d4">myIdlePacketsMutex</a></td></tr>
<tr class="separator:ad7834e40da4a5fd52a4dd67807f612d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b1021e8491108a3870c3c2c4e588d51"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a1b1021e8491108a3870c3c2c4e588d51">myIntroKey</a></td></tr>
<tr class="separator:a1b1021e8491108a3870c3c2c4e588d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac194f6b8250408f0e88079253101f125"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ac194f6b8250408f0e88079253101f125">myIPString</a></td></tr>
<tr class="separator:ac194f6b8250408f0e88079253101f125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7772f1c5e587b5a57094c3f0ab7da683"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a7772f1c5e587b5a57094c3f0ab7da683">myLogPasswordFailureVerbosely</a></td></tr>
<tr class="separator:a7772f1c5e587b5a57094c3f0ab7da683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15209ca0df8165469c1dfcad14f1b842"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a></td></tr>
<tr class="separator:a15209ca0df8165469c1dfcad14f1b842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5014cc2cfbb49266b628583982c39b4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab5014cc2cfbb49266b628583982c39b4">myPasswordKey</a></td></tr>
<tr class="separator:ab5014cc2cfbb49266b628583982c39b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d57b68e9768fa58d0859d2d52dd4e2f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a7d57b68e9768fa58d0859d2d52dd4e2f">myProcessPacketCB</a></td></tr>
<tr class="separator:a7d57b68e9768fa58d0859d2d52dd4e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec2df4b7dc541ffe787ce9d1d98188d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aec2df4b7dc541ffe787ce9d1d98188d3">myRejecting</a></td></tr>
<tr class="separator:aec2df4b7dc541ffe787ce9d1d98188d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae235f232c846cc6350a314c187642cf4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ae235f232c846cc6350a314c187642cf4">myRejectingString</a></td></tr>
<tr class="separator:ae235f232c846cc6350a314c187642cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a642fe441cf84e86582c47a18d35d077e"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classArServerClientData.html">ArServerClientData</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a></td></tr>
<tr class="separator:a642fe441cf84e86582c47a18d35d077e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6498d91cd2d72810ce892b402f9dc99"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ac6498d91cd2d72810ce892b402f9dc99">myRequestTransactionCount</a></td></tr>
<tr class="memdesc:ac6498d91cd2d72810ce892b402f9dc99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of "request transactions" that are currently in progress for this client.  <a href="#ac6498d91cd2d72810ce892b402f9dc99">More...</a><br /></td></tr>
<tr class="separator:ac6498d91cd2d72810ce892b402f9dc99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad3d9fe6004f340285f03250f070b147"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#aad3d9fe6004f340285f03250f070b147">myRequestTransactionMutex</a></td></tr>
<tr class="memdesc:aad3d9fe6004f340285f03250f070b147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex for multi-threaded access to the request transaction count.  <a href="#aad3d9fe6004f340285f03250f070b147">More...</a><br /></td></tr>
<tr class="separator:aad3d9fe6004f340285f03250f070b147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1459716f44dcc8c445dc69b2c8033fdd"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html">ArRetFunctor2</a>&lt; bool, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a1459716f44dcc8c445dc69b2c8033fdd">mySendUdpCB</a></td></tr>
<tr class="separator:a1459716f44dcc8c445dc69b2c8033fdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e41332fbdabc4243a840f51f6d7df7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a88e41332fbdabc4243a840f51f6d7df7">mySentTcpOnly</a></td></tr>
<tr class="separator:a88e41332fbdabc4243a840f51f6d7df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3e18e1e7f450bacf9b186baa763cebe"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab3e18e1e7f450bacf9b186baa763cebe">myServerKey</a></td></tr>
<tr class="separator:ab3e18e1e7f450bacf9b186baa763cebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b50aecbff9c61cacbaaad9e0b69c0e"><td class="memItemLeft" align="right" valign="top">struct sockaddr_in&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ae2b50aecbff9c61cacbaaad9e0b69c0e">mySin</a></td></tr>
<tr class="separator:ae2b50aecbff9c61cacbaaad9e0b69c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a634d421995628bf5038d13ff93bb57aa"><td class="memItemLeft" align="right" valign="top">std::list&lt; unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a634d421995628bf5038d13ff93bb57aa">mySlowIdleCommandStack</a></td></tr>
<tr class="separator:a634d421995628bf5038d13ff93bb57aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5e25af718acb83ea446ee01290fb205"><td class="memItemLeft" align="right" valign="top">std::list&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#af5e25af718acb83ea446ee01290fb205">mySlowIdleForceTcpStack</a></td></tr>
<tr class="separator:af5e25af718acb83ea446ee01290fb205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55100884eb0fea4c78116122523b6e70"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a55100884eb0fea4c78116122523b6e70">mySlowIdleThread</a></td></tr>
<tr class="separator:a55100884eb0fea4c78116122523b6e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab712c3d82cd27ae22265564330e4a4ab"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab712c3d82cd27ae22265564330e4a4ab">mySlowPackets</a></td></tr>
<tr class="separator:ab712c3d82cd27ae22265564330e4a4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd80d98175fb8adfdbc38651d34d7ffc"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#acd80d98175fb8adfdbc38651d34d7ffc">mySlowPacketsMutex</a></td></tr>
<tr class="separator:acd80d98175fb8adfdbc38651d34d7ffc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48ac17579e1c1eb81ff4f62bcdc26a25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a></td></tr>
<tr class="separator:a48ac17579e1c1eb81ff4f62bcdc26a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19bf40e4fd34f07791e3c4b45225a358"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a19bf40e4fd34f07791e3c4b45225a358">myStateStart</a></td></tr>
<tr class="separator:a19bf40e4fd34f07791e3c4b45225a358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a739b8ad4cf356c85b2a1bef41de8fe8d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a></td></tr>
<tr class="separator:a739b8ad4cf356c85b2a1bef41de8fe8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58023bbb42ab6ef0b2db417ab492fc4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacketReceiverTcp.html">ArNetPacketReceiverTcp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a58023bbb42ab6ef0b2db417ab492fc4d">myTcpReceiver</a></td></tr>
<tr class="separator:a58023bbb42ab6ef0b2db417ab492fc4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47cf6564f21f9ae44774234f2deb0ab7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacketSenderTcp.html">ArNetPacketSenderTcp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a47cf6564f21f9ae44774234f2deb0ab7">myTcpSender</a></td></tr>
<tr class="separator:a47cf6564f21f9ae44774234f2deb0ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfb9dae18baed84e415bf689beff3101"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a></td></tr>
<tr class="separator:abfb9dae18baed84e415bf689beff3101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4938a1b71b905b4b843b8731b8b5f40c"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>, <a class="el" href="classArServerClient_1_1Tracker.html">Tracker</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a4938a1b71b905b4b843b8731b8b5f40c">myTrackingReceivedMap</a></td></tr>
<tr class="separator:a4938a1b71b905b4b843b8731b8b5f40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab85818c484f7063e81ae59d2f5ea285d"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>, <a class="el" href="classArServerClient_1_1Tracker.html">Tracker</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ab85818c484f7063e81ae59d2f5ea285d">myTrackingSentMap</a></td></tr>
<tr class="separator:ab85818c484f7063e81ae59d2f5ea285d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb55ed9a09ca9dde9b8b817a1bfb98ea"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#afb55ed9a09ca9dde9b8b817a1bfb98ea">myTrackingStarted</a></td></tr>
<tr class="separator:afb55ed9a09ca9dde9b8b817a1bfb98ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80d02417145db862c432561bc96c8de3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a80d02417145db862c432561bc96c8de3">myUdpConfirmedFrom</a></td></tr>
<tr class="separator:a80d02417145db862c432561bc96c8de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1d448ee469a41c179a2d5bbeb5b3f38"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#ad1d448ee469a41c179a2d5bbeb5b3f38">myUdpConfirmedTo</a></td></tr>
<tr class="separator:ad1d448ee469a41c179a2d5bbeb5b3f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6297cb9f380b11e4ac6b234d41466a4a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a6297cb9f380b11e4ac6b234d41466a4a">myUserInfo</a></td></tr>
<tr class="separator:a6297cb9f380b11e4ac6b234d41466a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07a405f3a012e3dc4f0de9468529a2cb"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a></td></tr>
<tr class="separator:a07a405f3a012e3dc4f0de9468529a2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class represents the server's connection to the client, and contains the socket that the server uses to talk to the client and the information for sending packets to the client. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="drawingsExample_8cpp-example.html#_a1">drawingsExample.cpp</a>, and <a class="el" href="drawingsExampleWithRobot_8cpp-example.html#_a1">drawingsExampleWithRobot.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a43cb5a7523682cd393fd67c81eaff459"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ArServerClient::ServerState</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of the connection. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a43cb5a7523682cd393fd67c81eaff459ae3c16ad5623af30630dc389afdca5e28"></a>STATE_SENT_INTRO&#160;</td><td class="fielddoc">
<p>opened socket, sent our intro to the server </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a43cb5a7523682cd393fd67c81eaff459a29ec9812aa65c462b4bf2620a2139ae6"></a>STATE_REJECTED&#160;</td><td class="fielddoc">
<p>Client was rejected by server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a43cb5a7523682cd393fd67c81eaff459ab9b261bf5131df42b84685b7e4ecaff7"></a>STATE_CONNECTED&#160;</td><td class="fielddoc">
<p>Client is connected to server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a43cb5a7523682cd393fd67c81eaff459a0c32b15d037637d34fec49a59ed26c8d"></a>STATE_DISCONNECTED&#160;</td><td class="fielddoc">
<p>Client has disconnected from server. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aeb58f2cfcc533a91bb89e4e6cff36975"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerClient::ArServerClient </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td>
          <td class="paramname"><em>tcpSocket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>udpPort</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>authKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>introKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html">ArRetFunctor2</a>&lt; bool, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in * &gt; *&#160;</td>
          <td class="paramname"><em>sendUdpCallback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::map&lt; unsigned int, <a class="el" href="classArServerData.html">ArServerData</a> * &gt; *&#160;</td>
          <td class="paramname"><em>dataMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>passwordKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>serverKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *&#160;</td>
          <td class="paramname"><em>userInfo</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rejecting</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>rejectingString</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>debugLogging</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>serverClientName</em> = <code>&quot;ArServerBase_unknown&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>logPasswordFailureVerbosely</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>allowSlowPackets</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>allowIdlePackets</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>enforceProtocolVersion</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a>&#160;</td>
          <td class="paramname"><em>enforceType</em> = <code><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efdaebd1dc6f46009b607589b0ea2cea27c5">ArServerCommands::TYPE_UNSPECIFIED</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>In addition to the normal contructorness this contructor starts the connection between the server and the client going.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tcpSocket</td><td>the socket that has been established between the client and the server</td></tr>
    <tr><td class="paramname">udpPort</td><td>the udp port the server is using</td></tr>
    <tr><td class="paramname">authKey</td><td>this authKey must be presented by the client to the server on the server's UDP port for the client to be recognized by the server</td></tr>
    <tr><td class="paramname">introKey</td><td>this key must be presented by the server to the client so that the client will recognize the server</td></tr>
    <tr><td class="paramname">sendUdpCallback</td><td>the callback used to send Udp packets (since the udp packets need to be sent from the server's udp port and the serverclient here doesn't have one)</td></tr>
    <tr><td class="paramname">dataMap</td><td>the map between command numbers and the command data</td></tr>
    <tr><td class="paramname">passwordKey</td><td>the key (just plain text thats used in an md5 along with the serverKey and the password over on the client side) that was generated for the passwords on this exact connection</td></tr>
    <tr><td class="paramname">serverKey</td><td>the key (just plain text thats used in an md5 along with the passwordKey and the password over on the client side) that should be used for any connections to this server</td></tr>
    <tr><td class="paramname">debugLogging</td><td>If true, log some debug messages</td></tr>
    <tr><td class="paramname">logPasswordFailureVerbosely</td><td>If true, log password errors at <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a> level, if false, log them at <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a> level.</td></tr>
    <tr><td class="paramname">userInfo</td><td>the pointer to the item that holds our usernames and passwords</td></tr>
    <tr><td class="paramname">rejecting</td><td></td></tr>
    <tr><td class="paramname">rejectingString</td><td>string to reject with </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArServerBase.html#a0bfde76563e86f09236bc31809efd3e5">ArServerBase::enforceProtocolVersion()</a>, <a class="el" href="classArServerBase.html#af9b9e4b5dd3929151373665efd7ff167">ArServerBase::enforceType()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ad6981526f9b4deeea5358d62915cdeb6">ArSocket::getCloseCallback()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4af0d0401b61666b52feac6d5851263733">ArServerCommands::INTRODUCTION</a>, <a class="el" href="classArServerClient.html#aa0cd435885177ec88dc97f47bd794fdf">myAllowIdlePackets</a>, <a class="el" href="classArServerClient.html#a1dafde6d1b835173b8bc5bf31684fc20">myAllowSlowPackets</a>, <a class="el" href="classArServerClient.html#a5c6e11f605ec273b458f0c44a6d261e2">myAuthKey</a>, <a class="el" href="classArServerClient.html#ae6aed61c1fa3227be7513751f4c233da">myCreationTime</a>, <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>, <a class="el" href="classArServerClient.html#a409b4541bee57358d1d0c3c7ed6c6c05">myDebugLogging</a>, <a class="el" href="classArServerClient.html#a05c589522b9d22c9fba96e29e660ca8c">myEnforceProtocolVersion</a>, <a class="el" href="classArServerClient.html#a65a4032408542408c05e8645d8c45b38">myEnforceType</a>, <a class="el" href="classArServerClient.html#ad401572a99088506e159cb0aa35d76e8">myHaveIdlePackets</a>, <a class="el" href="classArServerClient.html#ab9d2d9132778345f4fce1ab200f27bed">myHaveSlowPackets</a>, <a class="el" href="classArServerClient.html#ad7834e40da4a5fd52a4dd67807f612d4">myIdlePacketsMutex</a>, <a class="el" href="classArServerClient.html#a1b1021e8491108a3870c3c2c4e588d51">myIntroKey</a>, <a class="el" href="classArServerClient.html#a7772f1c5e587b5a57094c3f0ab7da683">myLogPasswordFailureVerbosely</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#ab5014cc2cfbb49266b628583982c39b4">myPasswordKey</a>, <a class="el" href="classArServerClient.html#a7d57b68e9768fa58d0859d2d52dd4e2f">myProcessPacketCB</a>, <a class="el" href="classArServerClient.html#aec2df4b7dc541ffe787ce9d1d98188d3">myRejecting</a>, <a class="el" href="classArServerClient.html#ae235f232c846cc6350a314c187642cf4">myRejectingString</a>, <a class="el" href="classArServerClient.html#aad3d9fe6004f340285f03250f070b147">myRequestTransactionMutex</a>, <a class="el" href="classArServerClient.html#a1459716f44dcc8c445dc69b2c8033fdd">mySendUdpCB</a>, <a class="el" href="classArServerClient.html#a88e41332fbdabc4243a840f51f6d7df7">mySentTcpOnly</a>, <a class="el" href="classArServerClient.html#ab3e18e1e7f450bacf9b186baa763cebe">myServerKey</a>, <a class="el" href="classArServerClient.html#a55100884eb0fea4c78116122523b6e70">mySlowIdleThread</a>, <a class="el" href="classArServerClient.html#acd80d98175fb8adfdbc38651d34d7ffc">mySlowPacketsMutex</a>, <a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a>, <a class="el" href="classArServerClient.html#a58023bbb42ab6ef0b2db417ab492fc4d">myTcpReceiver</a>, <a class="el" href="classArServerClient.html#a47cf6564f21f9ae44774234f2deb0ab7">myTcpSender</a>, <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>, <a class="el" href="classArServerClient.html#a6297cb9f380b11e4ac6b234d41466a4a">myUserInfo</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerClient.html#a8ae94bc7965a0265824a284077745255">pushCommand()</a>, <a class="el" href="classArServerClient.html#a6b3e419c8fc2124b8dedc7878c7b69e6">resetTracking()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a00d3639bbd69a3b15a0a2d1bb18926ae">ArSocket::setCloseCallback()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="el" href="classArNetPacketSenderTcp.html#ae51c539c7bedb05ab96a34ba510a0c81">ArNetPacketSenderTcp::setDebugLogging()</a>, <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier()</a>, <a class="el" href="classArNetPacketSenderTcp.html#a1fcf6884fd55109ef3bc26aaaf46de51">ArNetPacketSenderTcp::setLoggingPrefix()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#a6856fa666eee1a726f24cc29f1c4dd24">ArNetPacketReceiverTcp::setLoggingPrefix()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a00069ede1325b6f9f500ef2636858262">ArMutex::setLogName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a657700645f097c3b53c2f5bb8c97cb7e">ArSocket::setNonBlock()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#aabb2ee9ad00fed3d6d2057634f2813a1">ArNetPacketReceiverTcp::setProcessPacketCB()</a>, <a class="el" href="classArNetPacketSenderTcp.html#aeb1e44978ebb575bd84afd59f8e954be">ArNetPacketSenderTcp::setSocket()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#a886818db9c10cdc4e43e946f7239b325">ArNetPacketReceiverTcp::setSocket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ae3c16ad5623af30630dc389afdca5e28">STATE_SENT_INTRO</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#aa92f0db004d5642efb4298e4fcad2738">ArSocket::transfer()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#aeec1b2c2dc6902e3c2b820fb2ddbf0e2">ArBasePacket::uByte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#abeb94fdd3729b05abb4574903887876c">ArBasePacket::uByte4ToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

</div>
</div>
<a class="anchor" id="a347ea0462ddb58e5b93cd01268cbfe44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArServerClient::~ArServerClient </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>
<p>MPL fixing a memory leak </p>

<p>References <a class="el" href="classArServerData.html#aa6eafdc68804c31d0118f024267b9c15">ArServerData::callRequestChangedFunctor()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a6b5f17df33bafc1882eb3d5f519e1200">ArUtil::deleteSet()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a2d327400c6ebecc3b6f1c2ce35df1c74">ArUtil::deleteSetPairs()</a>, <a class="el" href="classArServerClient.html#a8602b0a1426f563e9204c0dc6cf58342">myIdlePackets</a>, <a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a>, <a class="el" href="classArServerClient.html#ab712c3d82cd27ae22265564330e4a4ab">mySlowPackets</a>, <a class="el" href="classArServerClient.html#a58023bbb42ab6ef0b2db417ab492fc4d">myTcpReceiver</a>, <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>, <a class="el" href="classArServerClient.html#a4938a1b71b905b4b843b8731b8b5f40c">myTrackingReceivedMap</a>, <a class="el" href="classArServerClient.html#ab85818c484f7063e81ae59d2f5ea285d">myTrackingSentMap</a>, <a class="el" href="classArNetPacketReceiverTcp.html#aabb2ee9ad00fed3d6d2057634f2813a1">ArNetPacketReceiverTcp::setProcessPacketCB()</a>, and <a class="el" href="classArNetPacketReceiverTcp.html#a886818db9c10cdc4e43e946f7239b325">ArNetPacketReceiverTcp::setSocket()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a12cdbaae7a6a207a8d027a1d41c89ff9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::broadcastPacketTcp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts a packet over TCP if this client wants this data &ndash; For internal use only! </p>

<p>References <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="el" href="classArServerClientData.html#a55915b53e5ca0b79c4eb53d4aace3426">ArServerClientData::getServerData()</a>, <a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a>, and <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">ArServerBase::broadcastPacketTcpByCommandWithExclusion()</a>, and <a class="el" href="classArMapChanger.html#a7d9bb030031d7df3f2e72d3106d60653">ArMapChanger::sendRobotPacketList()</a>.</p>

</div>
</div>
<a class="anchor" id="ad4e6c3c33365cc9c3d4f4791364cc477"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::broadcastPacketUdp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts a packet over UDP if this client wants this data (unless client only wants tcp then sends over tcp) &ndash; For internal ArNetworking use only! </p>

<p>References <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="el" href="classArServerClientData.html#a55915b53e5ca0b79c4eb53d4aace3426">ArServerClientData::getServerData()</a>, <a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a>, and <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">ArServerBase::broadcastPacketUdpByCommandWithExclusion()</a>.</p>

</div>
</div>
<a class="anchor" id="a7c6b991a2c2f896c5d4eb8d227ee448e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::endRequestTransaction </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Ends the most recent request transaction, decrementing the count. </p>
<p>This method is intended to be called solely by the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a>. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b" title="Starts a new request transaction, incrementing the count. ">startRequestTransaction()</a>. </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#ac6498d91cd2d72810ce892b402f9dc99">myRequestTransactionCount</a>, <a class="el" href="classArServerClient.html#aad3d9fe6004f340285f03250f070b147">myRequestTransactionMutex</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#ab940c32af3c5c1231f3eca164544d818">ArServerBase::handleEndRequestTransaction()</a>, and <a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">hasIdlePackets()</a>.</p>

</div>
</div>
<a class="anchor" id="a259537dd4ed91e645b585530eb959a75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerClient::findCommandFromName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>commandName</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the command ID for the specified name, or 0 if it is not found. </p>
<p>Note that this method is not very efficient; it performs a linear search of all commands. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#aca10655a71490117f5e89378e2a5b533">ArUtil::isStrEmpty()</a>, and <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>.</p>

<p>Referenced by <a class="el" href="classArMapChanger.html#a638fba4b6bbe39292c5134f376e912ce">ArMapChanger::handleChangePacket()</a>, and <a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">hasIdlePackets()</a>.</p>

</div>
</div>
<a class="anchor" id="adc5233e80c5ac768ddf8a298c5ff04b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerClient::findCommandName </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find name of command for the given number. Return NULL if no command with the given ID is known. </p>

<p>References <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a4b6254803aaa6a30ff979457a1526cff">getCreationTime()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ab620f09c97793038989776b7314288c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::forceDisconnect </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>quiet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Forcibly disconnect a client (for client/server switching) </p>

<p>References <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a0c32b15d037637d34fec49a59ed26c8d">STATE_DISCONNECTED</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">ArServerBase::closeConnectionID()</a>, <a class="el" href="classArServerClient.html#a749cddc87accce262483d5b57c78d067">getTcpSocket()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">ArServerBase::loopOnce()</a>, <a class="el" href="classArCentralManager.html#aa7ec20a2ab4b6ee5ed5c3a7c05ce65a4">ArCentralManager::netServerSwitch()</a>, <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">ArServerBase::slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a5e842aec6153b3ce6236c0a3becccc61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long ArServerClient::getAuthKey </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the authKey used for setting up UDP from this client to the server. </p>

<p>References <a class="el" href="classArServerClient.html#a5c6e11f605ec273b458f0c44a6d261e2">myAuthKey</a>.</p>

</div>
</div>
<a class="anchor" id="a1551198d0ddd5615c637f7e279f1e16c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerClient::getCommand </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerClient.html#aef446178c42b4dec9c42d20b48493fcc">myCommandStack</a>, <a class="el" href="classArServerClient.html#a634d421995628bf5038d13ff93bb57aa">mySlowIdleCommandStack</a>, <a class="el" href="classArServerClient.html#a55100884eb0fea4c78116122523b6e70">mySlowIdleThread</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">ArThread::self()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a4b6254803aaa6a30ff979457a1526cff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArServerClient::getCreationTime </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get creation time. </p>

<p>References <a class="el" href="classArServerClient.html#adc5233e80c5ac768ddf8a298c5ff04b8">findCommandName()</a>, and <a class="el" href="classArServerClient.html#ae6aed61c1fa3227be7513751f4c233da">myCreationTime</a>.</p>

<p>Referenced by <a class="el" href="classArServerFileFromClient.html#ab48be559df234d54b8172d5c44ddfd4f">ArServerFileFromClient::internalPutFile()</a>.</p>

</div>
</div>
<a class="anchor" id="a960657844a953e3eacabb5ec21a2891f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::getForceTcpFlag </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerClient.html#a52acf2c80732b4c20e9372c6e77f1259">myForceTcpStack</a>, <a class="el" href="classArServerClient.html#af5e25af718acb83ea446ee01290fb205">mySlowIdleForceTcpStack</a>, <a class="el" href="classArServerClient.html#a55100884eb0fea4c78116122523b6e70">mySlowIdleThread</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">ArThread::self()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a2edcd0ef46313e33a2abee4b844af0e2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long ArServerClient::getFrequency </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>&#160;</td>
          <td class="paramname"><em>command</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets how often a command is asked for. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command number, you can use findCommandFromName</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns lowest amount of time requested for this packet, note that 0 and higher means thats how often it was asked for, -1 means nothing requested the data at an interval but wants it when its been pushed, and -2 means that nothing wants the data </dd></dl>

<p>References <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="el" href="classArServerClientData.html#a36086e3cb18655b178aa1d46d158a8f9">ArServerClientData::getMSec()</a>, <a class="el" href="classArServerClientData.html#a55915b53e5ca0b79c4eb53d4aace3426">ArServerClientData::getServerData()</a>, and <a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a749cddc87accce262483d5b57c78d067">getTcpSocket()</a>, and <a class="el" href="classArCentralForwarder.html#a50ae9f94a38d94133fdcd2fc33371a56">ArCentralForwarder::receiveData()</a>.</p>

</div>
</div>
<a class="anchor" id="a24d2b2edb9c95aaf6a6e2a888f7143d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> ArServerClient::getIdentifier </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the identifier of this server client. </p>

<p>References <a class="el" href="classArServerClient.html#a3b0d42be86e28e346d901c2f20dd5ffe">myIdentifier</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">ArServerBase::broadcastPacketTcpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">ArServerBase::broadcastPacketUdpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">ArServerBase::close()</a>, <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">ArServerBase::closeConnectionID()</a>, <a class="el" href="classArCentralManager.html#aa12fce8de08e80fa59053dfd028942b6">ArCentralManager::forwarderServerClientRemovedCallback()</a>, <a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">ArServerBase::identGetConnectionID()</a>, <a class="el" href="classArServerBase.html#a06f98f897980dec7e4d3aa059ba262a4">ArServerBase::identSetConnectionID()</a>, <a class="el" href="classArServerBase.html#a5e8bce0e87b8dca196500c2380a57fdc">ArServerBase::identSetHereGoal()</a>, <a class="el" href="classArServerBase.html#a514fba523004e8019714da166add2e6f">ArServerBase::identSetSelfIdentifier()</a>, and <a class="el" href="classArCentralManager.html#a96191b732dc4b5e25ed4591e251e63b5">ArCentralManager::mainServerClientRemovedCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a8da91f3122966f4b1ce824fffb3e4ace"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerClient::getIPString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the IP string of the client. </p>

<p>References <a class="el" href="classArServerClient.html#ac194f6b8250408f0e88079253101f125">myIPString</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">ArServerBase::close()</a>, <a class="el" href="classArServerDeleteFileOnServer.html#ab9dda5d50f400be73dcae3caae7d516f">ArServerDeleteFileOnServer::deleteFile()</a>, <a class="el" href="classArServerFileToClient.html#a3506fdbca49808e423463be37fc2e6c9">ArServerFileToClient::doGetFile()</a>, <a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">forceDisconnect()</a>, <a class="el" href="classArCentralManager.html#aa12fce8de08e80fa59053dfd028942b6">ArCentralManager::forwarderServerClientRemovedCallback()</a>, <a class="el" href="classArServerBase.html#ab940c32af3c5c1231f3eca164544d818">ArServerBase::handleEndRequestTransaction()</a>, <a class="el" href="classArServerBase.html#a9a7f71297a106efc86cc0ead79e98e9d">ArServerBase::handleStartRequestTransaction()</a>, <a class="el" href="classArServerFileFromClient.html#ab48be559df234d54b8172d5c44ddfd4f">ArServerFileFromClient::internalPutFile()</a>, <a class="el" href="classArServerHandlerConfig.html#a9af737f5682fa22e1dd7723281467375">ArServerHandlerConfig::internalSetConfig()</a>, <a class="el" href="classArServerBase.html#ab41c873e1c445abbffd3eac467ec5410">ArServerBase::logConnections()</a>, <a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking()</a>, <a class="el" href="classArCentralManager.html#a96191b732dc4b5e25ed4591e251e63b5">ArCentralManager::mainServerClientRemovedCallback()</a>, <a class="el" href="classArClientSwitchManager.html#ab8cb36c397f714c784ac10a7e74a2de2">ArClientSwitchManager::netCentralServerHeartbeat()</a>, <a class="el" href="classArServerHandlerPopup.html#a7fc3996ddcc2dd9c8b11da2a13bc0c35">ArServerHandlerPopup::netPopupClicked()</a>, <a class="el" href="classArCentralManager.html#aa7ec20a2ab4b6ee5ed5c3a7c05ce65a4">ArCentralManager::netServerSwitch()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerHandlerConfig.html#a818a4779c697131353705e958258bf90">ArServerHandlerConfig::reloadConfig()</a>, <a class="el" href="classArCentralForwarder.html#a7f795e740934530f417d17049a1f2a30">ArCentralForwarder::robotServerClientRemoved()</a>, <a class="el" href="classArServerHandlerMap.html#a0fc3c08c6b2b35af0a0342c961af5f4d">ArServerHandlerMap::serverGetMapId()</a>, <a class="el" href="classArServerModeJogPosition.html#a1cb08262d57f01599f2893d800240b7f">ArServerModeJogPosition::serverHeading()</a>, <a class="el" href="classArServerModeJogPosition.html#a607784b5a45fbe6a1b5ee02f12bb5824">ArServerModeJogPosition::serverMove()</a>, <a class="el" href="classArServerModeRatioDrive.html#ada4c9dab13063c2ce20efc3893ed07e8">ArServerModeRatioDrive::serverRatioDrive()</a>, <a class="el" href="classArServerModeJogPosition.html#ae5469c8ce840463a9def466db0086030">ArServerModeJogPosition::serverTurn()</a>, <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a7a7ed65d0d598c4fb07b00a09ec6061c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerClient::getRequestTransactionCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the number of request transactions that are currently in progress. </p>
<p>This method is intended to be called solely by the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a>. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b" title="Starts a new request transaction, incrementing the count. ">startRequestTransaction()</a>. </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerClient.html#ac6498d91cd2d72810ce892b402f9dc99">myRequestTransactionCount</a>, <a class="el" href="classArServerClient.html#aad3d9fe6004f340285f03250f070b147">myRequestTransactionMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a45a217e7e142d13a1c4f5a8ac85400ec">ArServerBase::getRequestTransactionCount()</a>, and <a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">hasIdlePackets()</a>.</p>

</div>
</div>
<a class="anchor" id="afc4e86b0f65a6431cf08a3dd59201c29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a> ArServerClient::getState </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the state. </p>

<p>References <a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a305b1d87e792e4f8e9b6610073901349">ArCentralForwarder::clientServerClientRemoved()</a>.</p>

</div>
</div>
<a class="anchor" id="a749cddc87accce262483d5b57c78d067"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>* ArServerClient::getTcpSocket </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function to get the tcp socket. </p>

<p>References <a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">forceDisconnect()</a>, <a class="el" href="classArServerClient.html#a2edcd0ef46313e33a2abee4b844af0e2">getFrequency()</a>, and <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>.</p>

<p>Referenced by <a class="el" href="classArClientSwitchManager.html#aeaabc93d0e6c64f701c004e57f7612b9">ArClientSwitchManager::clientSwitch()</a>, and <a class="el" href="classArCentralManager.html#aa7ec20a2ab4b6ee5ed5c3a7c05ce65a4">ArCentralManager::netServerSwitch()</a>.</p>

</div>
</div>
<a class="anchor" id="aecf21943c6e944aeebed8f5e6ce0ee36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sockaddr_in * ArServerClient::getUdpAddress </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the sin (network address) for the UDP socket. </p>

<p>References <a class="el" href="classArServerClient.html#ae2b50aecbff9c61cacbaaad9e0b69c0e">mySin</a>.</p>

</div>
</div>
<a class="anchor" id="a46513d8d5d7bc8e2031af88a056b22de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::handleRequests </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the requests for packets. </p>

<p>References <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="el" href="classArServerData.html#ac8736bfca1898623991b4659875ee4a9">ArServerData::getFunctor()</a>, <a class="el" href="classArServerClientData.html#a3327a7dac7f6bc8ebc43b76e3e6b9331">ArServerClientData::getLastSent()</a>, <a class="el" href="classArServerClientData.html#a36086e3cb18655b178aa1d46d158a8f9">ArServerClientData::getMSec()</a>, <a class="el" href="classArServerClientData.html#a4f15b2c7ef32087bb1956ce91d724dab">ArServerClientData::getPacket()</a>, <a class="el" href="classArServerClientData.html#a55915b53e5ca0b79c4eb53d4aace3426">ArServerClientData::getServerData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html#a5bacfbd7ba97a063b753bf94080f0610">ArFunctor2&lt; P1, P2 &gt;::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gabfac503dbf12dac57c8dc133d0b034a1">ArTime::mSecSince()</a>, <a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a>, <a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a>, <a class="el" href="classArServerClient.html#a0a356626319d5e780d4fb33f2cb4c54a">popCommand()</a>, <a class="el" href="classArServerClient.html#a4ee23c3b973f36fa20bd0bd46aee13ec">popForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#a8ae94bc7965a0265824a284077745255">pushCommand()</a>, <a class="el" href="classArServerClient.html#a4491d7ce6309ee2d83f572ecf509c15c">pushForceTcpFlag()</a>, <a class="el" href="classArServerClientData.html#a41a9324acec7e484b3282368e00251e7">ArServerClientData::setLastSentToNow()</a>, and <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ab9b261bf5131df42b84685b7e4ecaff7">STATE_CONNECTED</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">ArServerBase::loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="acdcf4871ff0b4f01b451ad3c06d9135e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::hasGroupAccess </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>group</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sees if this client has access to a given group. </p>

<p>References <a class="el" href="classArServerClient.html#a10905478198eba73d4bddf14533aedb1">myGroups</a>, and <a class="el" href="classArServerClient.html#a6297cb9f380b11e4ac6b234d41466a4a">myUserInfo</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeRatioDrive.html#ada4c9dab13063c2ce20efc3893ed07e8">ArServerModeRatioDrive::serverRatioDrive()</a>.</p>

</div>
</div>
<a class="anchor" id="a08e55879003201391f6f65776babd31c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::hasIdlePackets </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if we have any idle packets to process. </p>

<p>References <a class="el" href="classArServerClient.html#a7c6b991a2c2f896c5d4eb8d227ee448e">endRequestTransaction()</a>, <a class="el" href="classArServerClient.html#a259537dd4ed91e645b585530eb959a75">findCommandFromName()</a>, <a class="el" href="classArServerClient.html#a7a7ed65d0d598c4fb07b00a09ec6061c">getRequestTransactionCount()</a>, <a class="el" href="classArServerClient.html#ad401572a99088506e159cb0aa35d76e8">myHaveIdlePackets</a>, and <a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b">startRequestTransaction()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">ArServerBase::loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a4d03e4c0cfe7d8696a037fc6311704cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::hasSlowPackets </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if we have any slow packets to process. </p>

<p>References <a class="el" href="classArServerClient.html#ab9d2d9132778345f4fce1ab200f27bed">myHaveSlowPackets</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">ArServerBase::loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ad8f53397ba47d8fae63a092f50e77150"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::idlePacketCallback </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The callback for taking care of idle packets (logic on idle elsewhere) </p>

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerData.html#ac8736bfca1898623991b4659875ee4a9">ArServerData::getFunctor()</a>, <a class="el" href="classArServerData.html#a9a5e24a0c82ba41ed3fb94b90731e488">ArServerData::getName()</a>, <a class="el" href="classArServerData.html#aab7fd16b60901ee776c373dc49009e8d">ArServerData::getRequestOnceFunctor()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html#a5bacfbd7ba97a063b753bf94080f0610">ArFunctor2&lt; P1, P2 &gt;::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html#a188ea2c7923742617ee9c47bd1be9f2d">ArRetFunctor2&lt; Ret, P1, P2 &gt;::invokeR()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>, <a class="el" href="classArServerClient.html#ad401572a99088506e159cb0aa35d76e8">myHaveIdlePackets</a>, <a class="el" href="classArServerClient.html#a8602b0a1426f563e9204c0dc6cf58342">myIdlePackets</a>, <a class="el" href="classArServerClient.html#ad7834e40da4a5fd52a4dd67807f612d4">myIdlePacketsMutex</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a55100884eb0fea4c78116122523b6e70">mySlowIdleThread</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="el" href="classArServerClient.html#a080d7d44550f6a8b0d00822f8ebad45c">popSlowIdleCommand()</a>, <a class="el" href="classArServerClient.html#a24092993c865f4fa1b1bdb2b4ae985b0">popSlowIdleForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#a416b03587445b622d95a59c002e6bbcf">pushSlowIdleCommand()</a>, <a class="el" href="classArServerClient.html#a3599124281c2c4daf80354cec2143403">pushSlowIdleForceTcpFlag()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">ArThread::self()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">ArServerBase::slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a4b8e31c7ba02e41840a7bf0f6d110f5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::internalSwitchState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a>&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a409b4541bee57358d1d0c3c7ed6c6c05">myDebugLogging</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a>, <a class="el" href="classArServerClient.html#a19bf40e4fd34f07791e3c4b45225a358">myStateStart</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">forceDisconnect()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a9993f75befafb68eaa634d141b65f5ea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::isTcpOnly </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the tcp only flag. </p>

<p>References <a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a>.</p>

<p>Referenced by <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a905bb2016b04e35c57f8b277d4095cfc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::logTracking </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>terse</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the tracking information (packet and byte counts) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#adacaadc3f0a9368f74d28653a51aa64b">ArSocket::getBytesRecvd()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ad4caa942c5a621f7ae7d6f4e4e791734">ArSocket::getBytesSent()</a>, <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a450f731d0774186d6029425f36e2867e">ArSocket::getRecvs()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a8bd089aedbebfd7492efabd66128b982">ArSocket::getSends()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient_1_1Tracker.html#a652e240f97ceff91d00a8f38423b5a7f">ArServerClient::Tracker::myBytesTcp</a>, <a class="el" href="classArServerClient_1_1Tracker.html#a786627dc857fa0705906f06fdaaa21b8">ArServerClient::Tracker::myBytesUdp</a>, <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>, <a class="el" href="classArServerClient_1_1Tracker.html#a5a63f8ae70b93d45727861748daa7ad9">ArServerClient::Tracker::myPacketsTcp</a>, <a class="el" href="classArServerClient_1_1Tracker.html#a042e19619e1d9abf5adb8427eba40dc2">ArServerClient::Tracker::myPacketsUdp</a>, <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>, <a class="el" href="classArServerClient.html#a4938a1b71b905b4b843b8731b8b5f40c">myTrackingReceivedMap</a>, <a class="el" href="classArServerClient.html#ab85818c484f7063e81ae59d2f5ea285d">myTrackingSentMap</a>, <a class="el" href="classArServerClient.html#afb55ed9a09ca9dde9b8b817a1bfb98ea">myTrackingStarted</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga5385636d566c665eb9d722af6f65aef5">ArTime::secSince()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

</div>
</div>
<a class="anchor" id="a0a356626319d5e780d4fb33f2cb4c54a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::popCommand </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#aef446178c42b4dec9c42d20b48493fcc">myCommandStack</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a4ee23c3b973f36fa20bd0bd46aee13ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::popForceTcpFlag </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a52acf2c80732b4c20e9372c6e77f1259">myForceTcpStack</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a080d7d44550f6a8b0d00822f8ebad45c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::popSlowIdleCommand </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a634d421995628bf5038d13ff93bb57aa">mySlowIdleCommandStack</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a24092993c865f4fa1b1bdb2b4ae985b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::popSlowIdleForceTcpFlag </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#af5e25af718acb83ea446ee01290fb205">mySlowIdleForceTcpStack</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a7dbd22bfb827fe452922423c80f597aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::processAuthPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr_in *&#160;</td>
          <td class="paramname"><em>sin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processes the auth packets that came from udp. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a18d3e098635ec49ee8b7b43dc5c65c77">ArBasePacket::bufToUByte4()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a5c6e11f605ec273b458f0c44a6d261e2">myAuthKey</a>, <a class="el" href="classArServerClient.html#a1b1021e8491108a3870c3c2c4e588d51">myIntroKey</a>, <a class="el" href="classArServerClient.html#ae2b50aecbff9c61cacbaaad9e0b69c0e">mySin</a>, <a class="el" href="classArServerClient.html#a80d02417145db862c432561bc96c8de3">myUdpConfirmedFrom</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#afd267582a359ab24bdfd04ef12f211c9">ArSocket::netToHostOrder()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a346278536dfe0300374f5fbaba1d6ff2">ArServerCommands::UDP_CONFIRMATION</a>, and <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a6d63f5cecb9f92808a62954496bfe279">ArServerCommands::UDP_INTRODUCTION</a>.</p>

</div>
</div>
<a class="anchor" id="aa0936247fefc5b0705d637dad37a8c54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::processPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>tcp</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Process the packet whever it came from. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a3006b1fbf239cea0013d0a9e0c0c1baf">ArBasePacket::bufToByte()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a80571dd0c49cfb0717b1fc1e81176672">ArBasePacket::bufToByte4()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab36d3542331e2e288747cbcc0d36333e">ArBasePacket::bufToData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a8f1536daa451024715fe82cec495e826">ArBasePacket::bufToStr()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ac2d63293b9a983d18430eceb0edbf0b1">ArBasePacket::bufToUByte2()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="el" href="classArServerData.html#aa6eafdc68804c31d0118f024267b9c15">ArServerData::callRequestChangedFunctor()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4acab3bf86441a65c24cc045e8b0192ce2">ArServerCommands::CONNECTED</a>, <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="el" href="classArNetPacket.html#a0cf6a699500c885066dbf6fcaf145756">ArNetPacket::duplicatePacket()</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArServerClient.html#adc5233e80c5ac768ddf8a298c5ff04b8">findCommandName()</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="el" href="classArServerData.html#a82a34d9a251bc9715176c3aa051247c9">ArServerData::getCommandGroup()</a>, <a class="el" href="classArServerData.html#ac8736bfca1898623991b4659875ee4a9">ArServerData::getFunctor()</a>, <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="el" href="classArServerData.html#a9a5e24a0c82ba41ed3fb94b90731e488">ArServerData::getName()</a>, <a class="el" href="classArServerClientData.html#a4f15b2c7ef32087bb1956ce91d724dab">ArServerClientData::getPacket()</a>, <a class="el" href="classArServerData.html#aab7fd16b60901ee776c373dc49009e8d">ArServerData::getRequestOnceFunctor()</a>, <a class="el" href="classArServerClientData.html#a55915b53e5ca0b79c4eb53d4aace3426">ArServerClientData::getServerData()</a>, <a class="el" href="classArServerUserInfo.html#a793e994d3ae5ee6664ac4fd6a2cc9a3c">ArServerUserInfo::getUsersGroups()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#af081e418282cd9d9cc72672808b9ce9d">ArSocket::hostToNetOrder()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a8145c15c517a8be617630b22b854c4f4">ArSocket::inAddr()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada540fe9469c4660435421e6d76b6122ec">ArClientCommands::INTRODUCTION</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html#a5bacfbd7ba97a063b753bf94080f0610">ArFunctor2&lt; P1, P2 &gt;::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html#a188ea2c7923742617ee9c47bd1be9f2d">ArRetFunctor2&lt; Ret, P1, P2 &gt;::invokeR()</a>, <a class="el" href="classArServerData.html#a074b3440965d148f0232c97fdf7bd00e">ArServerData::isIdlePacket()</a>, <a class="el" href="classArServerData.html#ac5691ac98e8e77c4d84e701f7ea11c6f">ArServerData::isSlowPacket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#a37d5f2dea39ea96eadd406aa92b29f29">ArServerUserInfo::matchUserPassword()</a>, <a class="el" href="classArServerClient.html#aa0cd435885177ec88dc97f47bd794fdf">myAllowIdlePackets</a>, <a class="el" href="classArServerClient.html#a1dafde6d1b835173b8bc5bf31684fc20">myAllowSlowPackets</a>, <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>, <a class="el" href="classArServerClient.html#a05c589522b9d22c9fba96e29e660ca8c">myEnforceProtocolVersion</a>, <a class="el" href="classArServerClient.html#a65a4032408542408c05e8645d8c45b38">myEnforceType</a>, <a class="el" href="classArServerClient.html#a10905478198eba73d4bddf14533aedb1">myGroups</a>, <a class="el" href="classArServerClient.html#ad401572a99088506e159cb0aa35d76e8">myHaveIdlePackets</a>, <a class="el" href="classArServerClient.html#ab9d2d9132778345f4fce1ab200f27bed">myHaveSlowPackets</a>, <a class="el" href="classArServerClient.html#a8602b0a1426f563e9204c0dc6cf58342">myIdlePackets</a>, <a class="el" href="classArServerClient.html#ad7834e40da4a5fd52a4dd67807f612d4">myIdlePacketsMutex</a>, <a class="el" href="classArServerClient.html#a1b1021e8491108a3870c3c2c4e588d51">myIntroKey</a>, <a class="el" href="classArServerClient.html#a7772f1c5e587b5a57094c3f0ab7da683">myLogPasswordFailureVerbosely</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#ab5014cc2cfbb49266b628583982c39b4">myPasswordKey</a>, <a class="el" href="classArServerClient.html#aec2df4b7dc541ffe787ce9d1d98188d3">myRejecting</a>, <a class="el" href="classArServerClient.html#ae235f232c846cc6350a314c187642cf4">myRejectingString</a>, <a class="el" href="classArServerClient.html#a642fe441cf84e86582c47a18d35d077e">myRequested</a>, <a class="el" href="classArServerClient.html#ab3e18e1e7f450bacf9b186baa763cebe">myServerKey</a>, <a class="el" href="classArServerClient.html#ab712c3d82cd27ae22265564330e4a4ab">mySlowPackets</a>, <a class="el" href="classArServerClient.html#acd80d98175fb8adfdbc38651d34d7ffc">mySlowPacketsMutex</a>, <a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a>, <a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a>, <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>, <a class="el" href="classArServerClient.html#ad1d448ee469a41c179a2d5bbeb5b3f38">myUdpConfirmedTo</a>, <a class="el" href="classArServerClient.html#a6297cb9f380b11e4ac6b234d41466a4a">myUserInfo</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerClient.html#a0a356626319d5e780d4fb33f2cb4c54a">popCommand()</a>, <a class="el" href="classArServerClient.html#a4ee23c3b973f36fa20bd0bd46aee13ec">popForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#a8ae94bc7965a0265824a284077745255">pushCommand()</a>, <a class="el" href="classArServerClient.html#a4491d7ce6309ee2d83f572ecf509c15c">pushForceTcpFlag()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4adee1cad7b02f1ea54bb37b17213f1a75">ArServerCommands::REJECTED</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0adab3479a9230678a1654c9da450b378631">ArClientCommands::REQUEST</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada63841de4a0664fd8b95d08a3f5dc5db6">ArClientCommands::REQUESTSTOP</a>, <a class="el" href="classArServerClient.html#a2b79e707674b147dc3c76671e29c8915">sendListPacket()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="el" href="classArServerClientData.html#a77d6e5734caad7707a42ebb6304c5818">ArServerClientData::setMSec()</a>, <a class="el" href="classArServerClientData.html#a7ff73c5e58fa960b900838230f0d5f16">ArServerClientData::setPacket()</a>, <a class="el" href="classArServerClient.html#aa1e084950d5ad250a685a4b32266b64c">setUdpAddress()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada998b99926df0606489a735001fcff084">ArClientCommands::SHUTDOWN</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ab9b261bf5131df42b84685b7e4ecaff7">STATE_CONNECTED</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a0c32b15d037637d34fec49a59ed26c8d">STATE_DISCONNECTED</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a29ec9812aa65c462b4bf2620a2139ae6">STATE_REJECTED</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ae3c16ad5623af30630dc389afdca5e28">STATE_SENT_INTRO</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada7bea5a2b6ce1afe50f03230575e6b840">ArClientCommands::TCP_ONLY</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, <a class="el" href="classArServerClient.html#af684f0692848ff6eb346d6cc859c0300">trackPacketReceived()</a>, <a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efdaaaecfa9e450c08cc965e23798c977deb">ArServerCommands::TYPE_NONE</a>, <a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efdaebd1dc6f46009b607589b0ea2cea27c5">ArServerCommands::TYPE_UNSPECIFIED</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada6012f0c13f7cb9cdd2565472fd32c2e8">ArClientCommands::UDP_CONFIRMATION</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a6d63f5cecb9f92808a62954496bfe279">ArServerCommands::UDP_INTRODUCTION</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0adad734901cda4673894786109803a3d48c">ArClientCommands::UDP_INTRODUCTION</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

</div>
</div>
<a class="anchor" id="a8ae94bc7965a0265824a284077745255"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::pushCommand </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerClient.html#aef446178c42b4dec9c42d20b48493fcc">myCommandStack</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a4491d7ce6309ee2d83f572ecf509c15c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::pushForceTcpFlag </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>forceTcp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerClient.html#a52acf2c80732b4c20e9372c6e77f1259">myForceTcpStack</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a416b03587445b622d95a59c002e6bbcf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::pushSlowIdleCommand </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerClient.html#a634d421995628bf5038d13ff93bb57aa">mySlowIdleCommandStack</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a3599124281c2c4daf80354cec2143403"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::pushSlowIdleForceTcpFlag </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>forceTcp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerClient.html#af5e25af718acb83ea446ee01290fb205">mySlowIdleForceTcpStack</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a6b3e419c8fc2124b8dedc7878c7b69e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::resetTracking </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the tracking information (resets counters) </p>

<p>References <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>, <a class="el" href="classArServerClient.html#a4938a1b71b905b4b843b8731b8b5f40c">myTrackingReceivedMap</a>, <a class="el" href="classArServerClient.html#ab85818c484f7063e81ae59d2f5ea285d">myTrackingSentMap</a>, <a class="el" href="classArServerClient.html#afb55ed9a09ca9dde9b8b817a1bfb98ea">myTrackingStarted</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ae6623e8121740f86d339678bd374a64e">ArSocket::resetTracking()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b79e707674b147dc3c76671e29c8915"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::sendListPacket </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>reset it all back down to 0 </p>

<p>References <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArNetPacket.html#a11c6eb7a86ddc6ea04a49cc0ea307a64a143233cf777bfe992c946039dd006548">ArNetPacket::FOOTER_LENGTH</a>, <a class="el" href="classArServerData.html#a9e990baaba9ed75d1eff275693ca99e3">ArServerData::getArgumentDescription()</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="el" href="classArServerData.html#a82a34d9a251bc9715176c3aa051247c9">ArServerData::getCommandGroup()</a>, <a class="el" href="classArServerData.html#a9921c0977e47dafa9722c99cdb5c8f31">ArServerData::getDataFlagsString()</a>, <a class="el" href="classArServerData.html#aa09fcfbcf93c2d5d28ba4a6e8d080ee2">ArServerData::getDescription()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="el" href="classArServerData.html#a9a5e24a0c82ba41ed3fb94b90731e488">ArServerData::getName()</a>, <a class="el" href="classArServerData.html#a970aea581c01a3032872738b2d1fb5b3">ArServerData::getReturnDescription()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a141500872f293f3a2e7763562b728301">ArServerCommands::LIST</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4af789d41c3ea7728e740a6a10a46b882d">ArServerCommands::LISTARGRET</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a46ba97bce7f0fd78036ea0395fd75b49">ArServerCommands::LISTGROUPANDFLAGS</a>, <a class="el" href="classArNetPacket.html#a11c6eb7a86ddc6ea04a49cc0ea307a64a233ff463989369cb076795dd20c44d22">ArNetPacket::MAX_LENGTH</a>, <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>, <a class="el" href="classArServerClient.html#a10905478198eba73d4bddf14533aedb1">myGroups</a>, <a class="el" href="classArServerClient.html#a6297cb9f380b11e4ac6b234d41466a4a">myUserInfo</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a18bd814008fa96d4a1c0873190268198">ArBasePacket::setLength()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#aeec1b2c2dc6902e3c2b820fb2ddbf0e2">ArBasePacket::uByte2ToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a3f898b500f25869bdc5098c7d9a94f93"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::sendPacketTcp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Send a packet over TCP. </p>
<p>The command ID of the outgoing packet will be set to the current command ID (from the incoming packet). </p>

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a409b4541bee57358d1d0c3c7ed6c6c05">myDebugLogging</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a47cf6564f21f9ae44774234f2deb0ab7">myTcpSender</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArNetPacketSenderTcp.html#acaf0baf768a46d743530ca071ce96bd8">ArNetPacketSenderTcp::sendPacket()</a>, <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>, and <a class="el" href="classArServerClient.html#acfa5ffab7802f51d0ee081922860ba62">trackPacketSent()</a>.</p>

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#a37b6b2739285beb767fea6bcb130cdb0">ArServerInfoRobot::activityTimeInfo()</a>, <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerInfoRobot.html#a4b1f5a1de6266e00dcbe3f8d02d63e10">ArServerInfoRobot::batteryInfo()</a>, <a class="el" href="classArServerClient.html#a12cdbaae7a6a207a8d027a1d41c89ff9">broadcastPacketTcp()</a>, <a class="el" href="classArServerDeleteFileOnServer.html#ab9dda5d50f400be73dcae3caae7d516f">ArServerDeleteFileOnServer::deleteFile()</a>, <a class="el" href="classArServerFileToClient.html#a3506fdbca49808e423463be37fc2e6c9">ArServerFileToClient::doGetFile()</a>, <a class="el" href="classArServerHandlerCameraCollection.html#ab32f7bcceb9eeb82adffe5c76cbb3be6">ArServerHandlerCameraCollection::getCameraList()</a>, <a class="el" href="classArServerHandlerConfig.html#aabdcfc8f6dfbb361866d5436e4700e57">ArServerHandlerConfig::getConfigDefaults()</a>, <a class="el" href="classArServerHandlerConfig.html#a0210d6365879d22f73b97b939335ed22">ArServerHandlerConfig::getConfigSectionFlags()</a>, <a class="el" href="classArServerFileLister.html#ab0fecf7626b044fdaa753fc23fd33d7a">ArServerFileLister::getDefaultUploadDownloadDir()</a>, <a class="el" href="classArServerFileLister.html#a3289372b265e7b74cad61b0df3889a0c">ArServerFileLister::getDirListing()</a>, <a class="el" href="classArServerFileLister.html#a2e18a37b704e264f43799546a4e35c59">ArServerFileLister::getDirListingMultiplePackets()</a>, <a class="el" href="classArServerHandlerConfig.html#a7167ca98654ac2178af24ff1e2615189">ArServerHandlerConfig::getLastEditablePriority()</a>, <a class="el" href="classArServerMode.html#af778e02b6962d25b53489a568b851d8e">ArServerMode::getModeBusy()</a>, <a class="el" href="classArServerMode.html#a8190970059f9c792a223abcb6e082a78">ArServerMode::getModeDataList()</a>, <a class="el" href="classArServerMode.html#a282706c010844b2d3923b0ec0ac4b802">ArServerMode::getModeInfo()</a>, <a class="el" href="classArServerHandlerCommMonitor.html#aa88c1f9398c7f4c0a2cb812e7bc85669">ArServerHandlerCommMonitor::handleAckCommTcp()</a>, <a class="el" href="classArServerHandlerCamera.html#ad79081e0f60ee5d865bbdb11df7a4dc4">ArServerHandlerCamera::handleCameraModeUpdated()</a>, <a class="el" href="classArMapChanger.html#a638fba4b6bbe39292c5134f376e912ce">ArMapChanger::handleChangePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#a7cda8840ec574257f175f9a9794f0761">ArServerHandlerCamera::handleGetCameraModeList()</a>, <a class="el" href="classArServerHandlerConfig.html#a1617c968a0f04acbc23bedd053335a65">ArServerHandlerConfig::handleGetConfig()</a>, <a class="el" href="classArServerHandlerConfig.html#a5e8f96113b0f4711367f21f0fb84d3d4">ArServerHandlerConfig::handleGetConfigSection()</a>, <a class="el" href="classArServerHandlerCommMonitor.html#a599f291d5f0dd0dc601fbbff48068d4a">ArServerHandlerCommMonitor::handleGetHeartbeatInterval()</a>, <a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">ArServerBase::identGetConnectionID()</a>, <a class="el" href="classArServerFileFromClient.html#ab48be559df234d54b8172d5c44ddfd4f">ArServerFileFromClient::internalPutFile()</a>, <a class="el" href="classArServerHandlerConfig.html#a9af737f5682fa22e1dd7723281467375">ArServerHandlerConfig::internalSetConfig()</a>, <a class="el" href="classArClientSwitchManager.html#a68fad92c6d2be3e91ef46a74af74b1cd">ArClientSwitchManager::netCentralHeartbeat()</a>, <a class="el" href="classArCentralManager.html#aa98c3a6a711661870f52695b97307bb3">ArCentralManager::netClientList()</a>, <a class="el" href="classArServerInfoDrawings.html#a1f858e9317bb8eb0f916f7aaaed48eba">ArServerInfoDrawings::netGetDrawingList()</a>, <a class="el" href="classArServerInfoStrings.html#a294bb4c281000232701a5df6cbb4c5bc">ArServerInfoStrings::netGetStrings()</a>, <a class="el" href="classArServerInfoStrings.html#a0c33bcedd5fe876692513f423d67033d">ArServerInfoStrings::netGetStringsInfo()</a>, <a class="el" href="classArServerBase.html#a5f8ff1bed56680f3108b02c26a76d96e">ArServerBase::netIdleProcessingPending()</a>, <a class="el" href="classArServerHandlerCommands.html#a5dea14a84956e31ebe008d180032dd8f">ArServerHandlerCommands::netListCommands()</a>, <a class="el" href="classArServerInfoDrawings.html#af8612320c95adbe18fd31cff009ac5db">ArServerInfoDrawings::netListDrawings()</a>, <a class="el" href="classArServerHandlerCommands.html#a20ac29147682ec20e6615da77f2c3d7c">ArServerHandlerCommands::netListStringCommands()</a>, <a class="el" href="classArServerHandlerPopup.html#a8dc61188d6f5378794c6af5934d8958c">ArServerHandlerPopup::netPopupList()</a>, <a class="el" href="classArCentralManager.html#aa7ec20a2ab4b6ee5ed5c3a7c05ce65a4">ArCentralManager::netServerSwitch()</a>, <a class="el" href="classArServerInfoRobot.html#ab2cbbfd21c0deafa12a0e60fd77a5b2a">ArServerInfoRobot::physicalInfo()</a>, <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArCentralForwarder.html#a50ae9f94a38d94133fdcd2fc33371a56">ArCentralForwarder::receiveData()</a>, <a class="el" href="classArServerClient.html#a2b79e707674b147dc3c76671e29c8915">sendListPacket()</a>, <a class="el" href="classArServerHandlerMap.html#a7e446ab28acebee48f0f8a9175479dbc">ArServerHandlerMap::sendMapWithMaxCategory()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, <a class="el" href="classArHybridForwarderVideo.html#ad401aa20a975fc0504f55b785ac49e1e">ArHybridForwarderVideo::sendVideoSize()</a>, <a class="el" href="classArServerHandlerMap.html#a89d83704706b39b4c0687d85df7fd4a5">ArServerHandlerMap::serverGetGoals()</a>, <a class="el" href="classArServerHandlerMap.html#a7c74d8236e31f3c26df096eb75a83775">ArServerHandlerMap::serverGetMap()</a>, <a class="el" href="classArServerHandlerMap.html#acc3da98775bcbadd237260f8c5685087">ArServerHandlerMap::serverGetMapBinary()</a>, <a class="el" href="classArServerHandlerMap.html#a0fc3c08c6b2b35af0a0342c961af5f4d">ArServerHandlerMap::serverGetMapId()</a>, <a class="el" href="classArServerHandlerMap.html#a9b981c4fe18f14d95cd4405fbc56f6b3">ArServerHandlerMap::serverGetMapName()</a>, <a class="el" href="classArServerModeRatioDrive.html#a88cfedb3b240265dcd79df7210dddfef">ArServerModeRatioDrive::serverGetSafeDrive()</a>, <a class="el" href="classArServerHandlerMapping.html#a9e3f4f408780ebd72b54a0f6691ad3fa">ArServerHandlerMapping::serverMappingEnd()</a>, <a class="el" href="classArServerHandlerMapping.html#a4221bef12f98c7cdc092f96797f426b0">ArServerHandlerMapping::serverMappingStart()</a>, <a class="el" href="classArServerHandlerMapping.html#aaf1871c87271956a22c90be8436de695">ArServerHandlerMapping::serverMappingStatus()</a>, <a class="el" href="classArServerHandlerConfig.html#a29d0673df3fd77a2baea7babc16d6e84">ArServerHandlerConfig::setConfig()</a>, <a class="el" href="classArServerHandlerConfig.html#a478346fdde3052b88c5518a87cf0ae41">ArServerHandlerConfig::setConfigBySections()</a>, <a class="el" href="classArServerHandlerConfig.html#ab901d539711e32a5c854255e87cb2dde">ArServerHandlerConfig::setConfigBySectionsV2()</a>, <a class="el" href="classArServerHandlerConfig.html#a9be3c815ea8ca12b73e3c9f7e99198a7">ArServerHandlerConfig::setConfigParam()</a>, <a class="el" href="classArServerHandlerCameraCollection.html#a2c050b613cb97e138288da605e0ad91e">ArServerHandlerCameraCollection::setParams()</a>, <a class="el" href="classArServerClient.html#ab9d0d22f9b160b1411a709c4502a1cee">shutdown()</a>, <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>, <a class="el" href="classArServerInfoRobot.html#a124d06b5f8fd99676200e76222cb7979">ArServerInfoRobot::updateStrings()</a>, <a class="el" href="classArServerHandlerMap.html#a51726a72111dac24a9042fd5e68358d3">ArServerHandlerMap::writeLinesToClient()</a>, <a class="el" href="classArServerHandlerMap.html#aed91e2c9c51cc32ecce6a87513746def">ArServerHandlerMap::writeMapToClient()</a>, and <a class="el" href="classArServerHandlerMap.html#a02e2f7be84c31530ccc5ed43ab0a61c1">ArServerHandlerMap::writePointsToClient()</a>.</p>

</div>
</div>
<a class="anchor" id="a9276b1f38501725852c779058bad1d33"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::sendPacketUdp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Send a packet over UDP (unless client only wants TCP; then sends over TCP). </p>
<p>The command ID of the outgoing packet will be set to the current command ID (from the incoming packet). </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="drawingsExample_8cpp-example.html#a20">drawingsExample.cpp</a>, and <a class="el" href="drawingsExampleWithRobot_8cpp-example.html#a44">drawingsExampleWithRobot.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerClient.html#a960657844a953e3eacabb5ec21a2891f">getForceTcpFlag()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html#a188ea2c7923742617ee9c47bd1be9f2d">ArRetFunctor2&lt; Ret, P1, P2 &gt;::invokeR()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a409b4541bee57358d1d0c3c7ed6c6c05">myDebugLogging</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a1459716f44dcc8c445dc69b2c8033fdd">mySendUdpCB</a>, <a class="el" href="classArServerClient.html#ae2b50aecbff9c61cacbaaad9e0b69c0e">mySin</a>, <a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>, and <a class="el" href="classArServerClient.html#acfa5ffab7802f51d0ee081922860ba62">trackPacketSent()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#ad4e6c3c33365cc9c3d4f4791364cc477">broadcastPacketUdp()</a>, <a class="el" href="classArServerHandlerCamera.html#affb38298001cf250cce7557bc24b3abe">ArServerHandlerCamera::cameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#a76c689a525a92522ad317958b6753a41">ArServerHandlerCamera::cameraUpdate()</a>, <a class="el" href="classArServerInfoTrailDrawing.html#a488c134b9e82ac1756effb9424fa9321">ArServerInfoTrailDrawing::draw()</a>, <a class="el" href="drawingsExample_8cpp.html#abab39eb1a7fa3903841c77dabeb465f9">exampleArrowsDrawingNetCallback()</a>, <a class="el" href="drawingsExample_8cpp.html#a829cc347fa8f03be4f7e21f52a56b23d">exampleDotsDrawingNetCallback()</a>, <a class="el" href="drawingsExample_8cpp.html#a7c8ed01400d514a7b9105b92c325f26a">exampleHomeDrawingNetCallback()</a>, <a class="el" href="drawingsExample_8cpp.html#ae35734c611c1c0f5e9bc6287f5eee070">exampleXDrawingNetCallback()</a>, <a class="el" href="classArServerInfoSensor.html#aaee254ac71f7b492f0ff0c8c6a09c9fa">ArServerInfoSensor::getSensorCumulative()</a>, <a class="el" href="classArServerInfoSensor.html#ab80c9d9690b3046edca548488262de1d">ArServerInfoSensor::getSensorCurrent()</a>, <a class="el" href="classArServerInfoSensor.html#a6ed74b4b1a08e222484bc9b689c9e34f">ArServerInfoSensor::getSensorList()</a>, <a class="el" href="classArServerHandlerCommMonitor.html#a4ab611ab97a9b28aab3dc2dddcb94b65">ArServerHandlerCommMonitor::handleAckCommUdp()</a>, <a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">ArServerHandlerCamera::handleGetCameraData()</a>, <a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">ArServerHandlerCamera::handleGetCameraInfo()</a>, <a class="el" href="classArClientSwitchManager.html#a68fad92c6d2be3e91ef46a74af74b1cd">ArClientSwitchManager::netCentralHeartbeat()</a>, <a class="el" href="classArServerInfoDrawings.html#a5538f8db02d88dfe7c6bd385601a5da4">ArServerInfoDrawings::netRangeDeviceCumulative()</a>, <a class="el" href="classArServerInfoDrawings.html#a14e4b9a1d15089141192fecaebaf250e">ArServerInfoDrawings::netRangeDeviceCurrent()</a>, <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArCentralForwarder.html#a50ae9f94a38d94133fdcd2fc33371a56">ArCentralForwarder::receiveData()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac3251ed024d00e6e609da8cde5686438">ArHybridForwarderVideo::sendVideo()</a>, <a class="el" href="classArServerInfoRobot.html#a4a0905008a60f291372e53481d6656a2">ArServerInfoRobot::update()</a>, <a class="el" href="classArServerInfoRobot.html#a4625b86363da3746a7f194b80a316e61">ArServerInfoRobot::updateNumbers()</a>, and <a class="el" href="classCircle.html#ae3f30436e645d73e368e8ee55f8d1650">Circle::~Circle()</a>.</p>

</div>
</div>
<a class="anchor" id="ab440b833ee547250a4c3a9eb254428e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::setBackupTimeout </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>timeoutInMins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the backup timeout. </p>

<p>References <a class="el" href="classArServerClient.html#af55802a930b2860097b33e6a4d86a2ee">myBackupTimeout</a>, <a class="el" href="classArServerClient.html#a47cf6564f21f9ae44774234f2deb0ab7">myTcpSender</a>, and <a class="el" href="classArNetPacketSenderTcp.html#aaae4827c98ee78b511d589799c1bb4ee">ArNetPacketSenderTcp::setBackupTimeout()</a>.</p>

<p>Referenced by <a class="el" href="classArClientSwitchManager.html#aeaabc93d0e6c64f701c004e57f7612b9">ArClientSwitchManager::clientSwitch()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">ArServerBase::loopOnce()</a>, and <a class="el" href="classArClientSwitchManager.html#a28f5ce0e22ce57a17a842a06fb05722f">ArClientSwitchManager::processFile()</a>.</p>

</div>
</div>
<a class="anchor" id="a2db983b7a0d4f3bf1ed7f3152a753c1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::setIdentifier </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the identifier of this server client. </p>

<p>References <a class="el" href="classArServerClientIdentifier.html#ae0899fdbba705e8f25fdb0578c0b8c13">ArServerClientIdentifier::getIDString()</a>, <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a5522159a0fa067bb20ad5dfb271d4e87">ArSocket::getRawIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a3b0d42be86e28e346d901c2f20dd5ffe">myIdentifier</a>, <a class="el" href="classArServerClient.html#ac194f6b8250408f0e88079253101f125">myIPString</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#abfb9dae18baed84e415bf689beff3101">myTcpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ae1ce133ca58c9f8277cdbce80aa04241">ArSocket::setIPString()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">ArServerBase::identGetConnectionID()</a>, <a class="el" href="classArServerBase.html#a06f98f897980dec7e4d3aa059ba262a4">ArServerBase::identSetConnectionID()</a>, <a class="el" href="classArServerBase.html#a5e8bce0e87b8dca196500c2380a57fdc">ArServerBase::identSetHereGoal()</a>, and <a class="el" href="classArServerBase.html#a514fba523004e8019714da166add2e6f">ArServerBase::identSetSelfIdentifier()</a>.</p>

</div>
</div>
<a class="anchor" id="aa1e084950d5ad250a685a4b32266b64c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::setUdpAddress </td>
          <td>(</td>
          <td class="paramtype">struct sockaddr_in *&#160;</td>
          <td class="paramname"><em>sin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the sin (network address) for the UDP socket. </p>

<p>References <a class="el" href="classArServerClient.html#ae2b50aecbff9c61cacbaaad9e0b69c0e">mySin</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a5bd0e04a87aa569a53f72d0a096bf51f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::setupPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArNetPacket.html#a5076d7a8d058ed0f6f5795891e1fca6e">ArNetPacket::finalizePacket()</a>, <a class="el" href="classArServerClient.html#adc5233e80c5ac768ddf8a298c5ff04b8">findCommandName()</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerClient.html#a1551198d0ddd5615c637f7e279f1e16c">getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArNetPacket.html#a11c6eb7a86ddc6ea04a49cc0ea307a64a233ff463989369cb076795dd20c44d22">ArNetPacket::MAX_LENGTH</a>, <a class="el" href="classArServerClient.html#a409b4541bee57358d1d0c3c7ed6c6c05">myDebugLogging</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a0c32b15d037637d34fec49a59ed26c8d">STATE_DISCONNECTED</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, and <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="ab9d0d22f9b160b1411a709c4502a1cee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::shutdown </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends a shutdown command to the socket. </p>

<p>References <a class="el" href="classArServerClient.html#a47cf6564f21f9ae44774234f2deb0ab7">myTcpSender</a>, <a class="el" href="classArNetPacketSenderTcp.html#a0dde27e4368adff647295a7bce68e5ff">ArNetPacketSenderTcp::sendData()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, and <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4ac8bd4e692eabfb24d487705728b0fb6e">ArServerCommands::SHUTDOWN</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">ArServerBase::close()</a>.</p>

</div>
</div>
<a class="anchor" id="a54b88b922cb831d40bdb6c7a8b3b465d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::slowPacketCallback </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The callback for taking care of slow packets. </p>

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArServerData.html#ac8736bfca1898623991b4659875ee4a9">ArServerData::getFunctor()</a>, <a class="el" href="classArServerData.html#a9a5e24a0c82ba41ed3fb94b90731e488">ArServerData::getName()</a>, <a class="el" href="classArServerData.html#aab7fd16b60901ee776c373dc49009e8d">ArServerData::getRequestOnceFunctor()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html#a5bacfbd7ba97a063b753bf94080f0610">ArFunctor2&lt; P1, P2 &gt;::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html#a188ea2c7923742617ee9c47bd1be9f2d">ArRetFunctor2&lt; Ret, P1, P2 &gt;::invokeR()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a21b1f00dc1cf63109d07adc278e44736">myDataMap</a>, <a class="el" href="classArServerClient.html#ab9d2d9132778345f4fce1ab200f27bed">myHaveSlowPackets</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a55100884eb0fea4c78116122523b6e70">mySlowIdleThread</a>, <a class="el" href="classArServerClient.html#ab712c3d82cd27ae22265564330e4a4ab">mySlowPackets</a>, <a class="el" href="classArServerClient.html#acd80d98175fb8adfdbc38651d34d7ffc">mySlowPacketsMutex</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="el" href="classArServerClient.html#a080d7d44550f6a8b0d00822f8ebad45c">popSlowIdleCommand()</a>, <a class="el" href="classArServerClient.html#a24092993c865f4fa1b1bdb2b4ae985b0">popSlowIdleForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#a416b03587445b622d95a59c002e6bbcf">pushSlowIdleCommand()</a>, <a class="el" href="classArServerClient.html#a3599124281c2c4daf80354cec2143403">pushSlowIdleForceTcpFlag()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">ArThread::self()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">ArServerBase::slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a48225ae118abf839ed54146e02b76b2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::startRequestTransaction </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts a new request transaction, incrementing the count. </p>
<p>This method is intended to be called solely by the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a>. It MUST be followed by a call to <a class="el" href="classArServerClient.html#a7c6b991a2c2f896c5d4eb8d227ee448e" title="Ends the most recent request transaction, decrementing the count. ">endRequestTransaction()</a>.</p>
<p>Request transactions are used under certain circumstances to indicate that a number of related request/reply packets must be completely processed before background idle processing can proceed. See <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> for more information. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerClient.html#ac6498d91cd2d72810ce892b402f9dc99">myRequestTransactionCount</a>, <a class="el" href="classArServerClient.html#aad3d9fe6004f340285f03250f070b147">myRequestTransactionMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a9a7f71297a106efc86cc0ead79e98e9d">ArServerBase::handleStartRequestTransaction()</a>, and <a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">hasIdlePackets()</a>.</p>

</div>
</div>
<a class="anchor" id="a8f87f3b1826c19e71af860c992405937"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::tcpCallback </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The callback for taking care of the TCP connection. </p>

<p>References <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#ad401572a99088506e159cb0aa35d76e8">myHaveIdlePackets</a>, <a class="el" href="classArServerClient.html#ab9d2d9132778345f4fce1ab200f27bed">myHaveSlowPackets</a>, <a class="el" href="classArServerClient.html#a15209ca0df8165469c1dfcad14f1b842">myLogPrefix</a>, <a class="el" href="classArServerClient.html#a88e41332fbdabc4243a840f51f6d7df7">mySentTcpOnly</a>, <a class="el" href="classArServerClient.html#a48ac17579e1c1eb81ff4f62bcdc26a25">myState</a>, <a class="el" href="classArServerClient.html#a19bf40e4fd34f07791e3c4b45225a358">myStateStart</a>, <a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a>, <a class="el" href="classArServerClient.html#a58023bbb42ab6ef0b2db417ab492fc4d">myTcpReceiver</a>, <a class="el" href="classArServerClient.html#a47cf6564f21f9ae44774234f2deb0ab7">myTcpSender</a>, <a class="el" href="classArServerClient.html#a07a405f3a012e3dc4f0de9468529a2cb">myVerboseLogLevel</a>, <a class="el" href="classArNetPacketReceiverTcp.html#a890d4bdcd0e68e98b78c142bb752b74d">ArNetPacketReceiverTcp::readData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga5385636d566c665eb9d722af6f65aef5">ArTime::secSince()</a>, <a class="el" href="classArNetPacketSenderTcp.html#a0dde27e4368adff647295a7bce68e5ff">ArNetPacketSenderTcp::sendData()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a0c32b15d037637d34fec49a59ed26c8d">STATE_DISCONNECTED</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459a29ec9812aa65c462b4bf2620a2139ae6">STATE_REJECTED</a>, <a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459ae3c16ad5623af30630dc389afdca5e28">STATE_SENT_INTRO</a>, and <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4afbeb928f4be2b6d4b1d4d34311e12ae7">ArServerCommands::TCP_ONLY</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">ArServerBase::loopOnce()</a>, and <a class="el" href="classArCentralManager.html#aa7ec20a2ab4b6ee5ed5c3a7c05ce65a4">ArCentralManager::netServerSwitch()</a>.</p>

</div>
</div>
<a class="anchor" id="af684f0692848ff6eb346d6cc859c0300"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::trackPacketReceived </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>&#160;</td>
          <td class="paramname"><em>command</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="el" href="classArNetPacket.html#a1e8445410a7b4dd8aa36a6f8cd7acf64">ArNetPacket::getPacketSource()</a>, <a class="el" href="classArServerClient.html#a4938a1b71b905b4b843b8731b8b5f40c">myTrackingReceivedMap</a>, and <a class="el" href="classArNetPacket.html#a699c1b74aac44c20113ba6412655de1dada3588583303835c7ded0f5767d8df6a">ArNetPacket::TCP</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="acfa5ffab7802f51d0ee081922860ba62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::trackPacketSent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>tcp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, and <a class="el" href="classArServerClient.html#ab85818c484f7063e81ae59d2f5ea285d">myTrackingSentMap</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, and <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a81c05efe6728a961ad693d1232ac8c67"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerClient::useTcpOnly </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the TCP only flag. </p>

<p>References <a class="el" href="classArServerClient.html#a739b8ad4cf356c85b2a1bef41de8fe8d">myTcpOnly</a>.</p>

<p>Referenced by <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aa0cd435885177ec88dc97f47bd794fdf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myAllowIdlePackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a1dafde6d1b835173b8bc5bf31684fc20"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myAllowSlowPackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c6e11f605ec273b458f0c44a6d261e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long ArServerClient::myAuthKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a5e842aec6153b3ce6236c0a3becccc61">getAuthKey()</a>, and <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="af55802a930b2860097b33e6a4d86a2ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArServerClient::myBackupTimeout</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#ab440b833ee547250a4c3a9eb254428e0">setBackupTimeout()</a>.</p>

</div>
</div>
<a class="anchor" id="aef446178c42b4dec9c42d20b48493fcc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;unsigned int&gt; ArServerClient::myCommandStack</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a1551198d0ddd5615c637f7e279f1e16c">getCommand()</a>, <a class="el" href="classArServerClient.html#a0a356626319d5e780d4fb33f2cb4c54a">popCommand()</a>, and <a class="el" href="classArServerClient.html#a8ae94bc7965a0265824a284077745255">pushCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ae6aed61c1fa3227be7513751f4c233da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArServerClient::myCreationTime</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#a4b6254803aaa6a30ff979457a1526cff">getCreationTime()</a>.</p>

</div>
</div>
<a class="anchor" id="a21b1f00dc1cf63109d07adc278e44736"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;unsigned int, <a class="el" href="classArServerData.html">ArServerData</a> *&gt;* ArServerClient::myDataMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a259537dd4ed91e645b585530eb959a75">findCommandFromName()</a>, <a class="el" href="classArServerClient.html#adc5233e80c5ac768ddf8a298c5ff04b8">findCommandName()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, <a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a2b79e707674b147dc3c76671e29c8915">sendListPacket()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a409b4541bee57358d1d0c3c7ed6c6c05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myDebugLogging</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, and <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a05c589522b9d22c9fba96e29e660ca8c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerClient::myEnforceProtocolVersion</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a65a4032408542408c05e8645d8c45b38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a> ArServerClient::myEnforceType</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a52acf2c80732b4c20e9372c6e77f1259"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;bool&gt; ArServerClient::myForceTcpStack</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a960657844a953e3eacabb5ec21a2891f">getForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#a4ee23c3b973f36fa20bd0bd46aee13ec">popForceTcpFlag()</a>, and <a class="el" href="classArServerClient.html#a4491d7ce6309ee2d83f572ecf509c15c">pushForceTcpFlag()</a>.</p>

</div>
</div>
<a class="anchor" id="a10905478198eba73d4bddf14533aedb1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::set&lt;std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a>&gt; ArServerClient::myGroups</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#acdcf4871ff0b4f01b451ad3c06d9135e">hasGroupAccess()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a2b79e707674b147dc3c76671e29c8915">sendListPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ad401572a99088506e159cb0aa35d76e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myHaveIdlePackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">hasIdlePackets()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ab9d2d9132778345f4fce1ab200f27bed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myHaveSlowPackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a4d03e4c0cfe7d8696a037fc6311704cd">hasSlowPackets()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a3b0d42be86e28e346d901c2f20dd5ffe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> ArServerClient::myIdentifier</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">getIdentifier()</a>, and <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier()</a>.</p>

</div>
</div>
<a class="anchor" id="a8602b0a1426f563e9204c0dc6cf58342"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerClient::myIdlePackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="ad7834e40da4a5fd52a4dd67807f612d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerClient::myIdlePacketsMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a1b1021e8491108a3870c3c2c4e588d51"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long ArServerClient::myIntroKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ac194f6b8250408f0e88079253101f125"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerClient::myIPString</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">getIPString()</a>, and <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier()</a>.</p>

</div>
</div>
<a class="anchor" id="a7772f1c5e587b5a57094c3f0ab7da683"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myLogPasswordFailureVerbosely</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a15209ca0df8165469c1dfcad14f1b842"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerClient::myLogPrefix</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier()</a>, <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>, <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ab5014cc2cfbb49266b628583982c39b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerClient::myPasswordKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a7d57b68e9768fa58d0859d2d52dd4e2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerClient.html">ArServerClient</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, bool&gt; ArServerClient::myProcessPacketCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="aec2df4b7dc541ffe787ce9d1d98188d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerClient::myRejecting</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ae235f232c846cc6350a314c187642cf4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerClient::myRejectingString</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a642fe441cf84e86582c47a18d35d077e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classArServerClientData.html">ArServerClientData</a> *&gt; ArServerClient::myRequested</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a12cdbaae7a6a207a8d027a1d41c89ff9">broadcastPacketTcp()</a>, <a class="el" href="classArServerClient.html#ad4e6c3c33365cc9c3d4f4791364cc477">broadcastPacketUdp()</a>, <a class="el" href="classArServerClient.html#a2edcd0ef46313e33a2abee4b844af0e2">getFrequency()</a>, <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="ac6498d91cd2d72810ce892b402f9dc99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerClient::myRequestTransactionCount</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Number of "request transactions" that are currently in progress for this client. </p>

<p>Referenced by <a class="el" href="classArServerClient.html#a7c6b991a2c2f896c5d4eb8d227ee448e">endRequestTransaction()</a>, <a class="el" href="classArServerClient.html#a7a7ed65d0d598c4fb07b00a09ec6061c">getRequestTransactionCount()</a>, and <a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b">startRequestTransaction()</a>.</p>

</div>
</div>
<a class="anchor" id="aad3d9fe6004f340285f03250f070b147"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerClient::myRequestTransactionMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Mutex for multi-threaded access to the request transaction count. </p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a7c6b991a2c2f896c5d4eb8d227ee448e">endRequestTransaction()</a>, <a class="el" href="classArServerClient.html#a7a7ed65d0d598c4fb07b00a09ec6061c">getRequestTransactionCount()</a>, and <a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b">startRequestTransaction()</a>.</p>

</div>
</div>
<a class="anchor" id="a1459716f44dcc8c445dc69b2c8033fdd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html">ArRetFunctor2</a>&lt;bool, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in *&gt;* ArServerClient::mySendUdpCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a88e41332fbdabc4243a840f51f6d7df7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::mySentTcpOnly</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ab3e18e1e7f450bacf9b186baa763cebe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerClient::myServerKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2b50aecbff9c61cacbaaad9e0b69c0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct sockaddr_in ArServerClient::mySin</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aecf21943c6e944aeebed8f5e6ce0ee36">getUdpAddress()</a>, <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, and <a class="el" href="classArServerClient.html#aa1e084950d5ad250a685a4b32266b64c">setUdpAddress()</a>.</p>

</div>
</div>
<a class="anchor" id="a634d421995628bf5038d13ff93bb57aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;unsigned int&gt; ArServerClient::mySlowIdleCommandStack</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a1551198d0ddd5615c637f7e279f1e16c">getCommand()</a>, <a class="el" href="classArServerClient.html#a080d7d44550f6a8b0d00822f8ebad45c">popSlowIdleCommand()</a>, and <a class="el" href="classArServerClient.html#a416b03587445b622d95a59c002e6bbcf">pushSlowIdleCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="af5e25af718acb83ea446ee01290fb205"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;bool&gt; ArServerClient::mySlowIdleForceTcpStack</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a960657844a953e3eacabb5ec21a2891f">getForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#a24092993c865f4fa1b1bdb2b4ae985b0">popSlowIdleForceTcpFlag()</a>, and <a class="el" href="classArServerClient.html#a3599124281c2c4daf80354cec2143403">pushSlowIdleForceTcpFlag()</a>.</p>

</div>
</div>
<a class="anchor" id="a55100884eb0fea4c78116122523b6e70"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html">ArThread</a>* ArServerClient::mySlowIdleThread</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a1551198d0ddd5615c637f7e279f1e16c">getCommand()</a>, <a class="el" href="classArServerClient.html#a960657844a953e3eacabb5ec21a2891f">getForceTcpFlag()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ab712c3d82cd27ae22265564330e4a4ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerClient::mySlowPackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="acd80d98175fb8adfdbc38651d34d7ffc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerClient::mySlowPacketsMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a48ac17579e1c1eb81ff4f62bcdc26a25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerClient.html#a43cb5a7523682cd393fd67c81eaff459">ServerState</a> ArServerClient::myState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#afc4e86b0f65a6431cf08a3dd59201c29">getState()</a>, <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">handleRequests()</a>, <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a19bf40e4fd34f07791e3c4b45225a358"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArServerClient::myStateStart</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a4b8e31c7ba02e41840a7bf0f6d110f5e">internalSwitchState()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a739b8ad4cf356c85b2a1bef41de8fe8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myTcpOnly</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a9993f75befafb68eaa634d141b65f5ea">isTcpOnly()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">sendPacketUdp()</a>, <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>, and <a class="el" href="classArServerClient.html#a81c05efe6728a961ad693d1232ac8c67">useTcpOnly()</a>.</p>

</div>
</div>
<a class="anchor" id="a58023bbb42ab6ef0b2db417ab492fc4d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacketReceiverTcp.html">ArNetPacketReceiverTcp</a> ArServerClient::myTcpReceiver</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="a47cf6564f21f9ae44774234f2deb0ab7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacketSenderTcp.html">ArNetPacketSenderTcp</a> ArServerClient::myTcpSender</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">sendPacketTcp()</a>, <a class="el" href="classArServerClient.html#ab440b833ee547250a4c3a9eb254428e0">setBackupTimeout()</a>, <a class="el" href="classArServerClient.html#ab9d0d22f9b160b1411a709c4502a1cee">shutdown()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="abfb9dae18baed84e415bf689beff3101"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> ArServerClient::myTcpSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#a749cddc87accce262483d5b57c78d067">getTcpSocket()</a>, <a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a6b3e419c8fc2124b8dedc7878c7b69e6">resetTracking()</a>, <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">setIdentifier()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="a4938a1b71b905b4b843b8731b8b5f40c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>, <a class="el" href="classArServerClient_1_1Tracker.html">Tracker</a> *&gt; ArServerClient::myTrackingReceivedMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking()</a>, <a class="el" href="classArServerClient.html#a6b3e419c8fc2124b8dedc7878c7b69e6">resetTracking()</a>, <a class="el" href="classArServerClient.html#af684f0692848ff6eb346d6cc859c0300">trackPacketReceived()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="ab85818c484f7063e81ae59d2f5ea285d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#a0efae5ee63aec92972d78ecaffdbfcea">ArTypes::UByte2</a>, <a class="el" href="classArServerClient_1_1Tracker.html">Tracker</a> *&gt; ArServerClient::myTrackingSentMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking()</a>, <a class="el" href="classArServerClient.html#a6b3e419c8fc2124b8dedc7878c7b69e6">resetTracking()</a>, <a class="el" href="classArServerClient.html#acfa5ffab7802f51d0ee081922860ba62">trackPacketSent()</a>, and <a class="el" href="classArServerClient.html#a347ea0462ddb58e5b93cd01268cbfe44">~ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="afb55ed9a09ca9dde9b8b817a1bfb98ea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArServerClient::myTrackingStarted</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a905bb2016b04e35c57f8b277d4095cfc">logTracking()</a>, and <a class="el" href="classArServerClient.html#a6b3e419c8fc2124b8dedc7878c7b69e6">resetTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="a80d02417145db862c432561bc96c8de3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myUdpConfirmedFrom</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ad1d448ee469a41c179a2d5bbeb5b3f38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerClient::myUdpConfirmedTo</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a6297cb9f380b11e4ac6b234d41466a4a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>* ArServerClient::myUserInfo</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#acdcf4871ff0b4f01b451ad3c06d9135e">hasGroupAccess()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, and <a class="el" href="classArServerClient.html#a2b79e707674b147dc3c76671e29c8915">sendListPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a07a405f3a012e3dc4f0de9468529a2cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> ArServerClient::myVerboseLogLevel</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">idlePacketCallback()</a>, <a class="el" href="classArServerClient.html#a7dbd22bfb827fe452922423c80f597aa">processAuthPacket()</a>, <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">processPacket()</a>, <a class="el" href="classArServerClient.html#a5bd0e04a87aa569a53f72d0a096bf51f">setupPacket()</a>, <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">slowPacketCallback()</a>, and <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">tcpCallback()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArServerClient_8h.html">ArServerClient.h</a></li>
<li><a class="el" href="ArServerClient_8cpp.html">ArServerClient.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerClient.html">ArServerClient</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
